2016-01-13 8 views
0

Что я хотел бы сделать следующим образом: У меня 3 таблицы с данными из базы данных sql (просто простой SQL-запрос).Как получить разные таблицы на одной странице

SQL:

"SELECT * FROM Customers WHERE employee = '" . $name. "' 

У меня также есть форма, где можно выбрать вариант, который затем переходит в SQL запрос

while ($row = mysql_fetch_array($sql)) { 

    echo "<option value = " . ($row['name']) . ">". $row['name'] ." </option>"; 
} 

echo ' </select>'; 
echo ' <input type="submit" id="submit" name="submit">'; 
echo '</form>'; 

С формой я использую простую GET, чтобы получить форму вывода и поместить его в запрос SQL. Теперь проблема в том, что у меня есть 3 таблицы, которые почти делают то же самое, но я хотел бы иметь 3 формы, где я могу дать ввод, а затем, где я даю свой вклад, который показывает таблица. Это возможно ? И есть примеры.

+0

'mysql_ *' официально [** устарел **] (https://wiki.php.net/rfc/mysql_deprecation). Вам нужно перейти на подготовленные записи. См. [Этот пост для получения дополнительной информации] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). – Ben

+0

Это возможно.try это – user3386779

+0

Этот код действительно работает в данный момент с mysql, но я пытаюсь добавить некоторый код, чтобы таблицы отображались только при вводе ввода в мою форму. Так что проблема не в соединении –

ответ

0

Как указано в комментарии, mysql_ * обесценивается, вам нужно использовать mysqli или PDO. Использование MySQLi ваш код должен быть, как этот

$con = mysqli_connect("localhost","my_user","my_password","my_db"); 
//use your host name, mysql user name, mysql password and your database name in place of "localhost","my_user","my_password","my_db" 
$sql ="SELECT * FROM Customers WHERE employee = '" . $name. "'"; 
$result = mysqli_query($con,$sql); 
while ($row = mysqli_fetch_assoc($result)) { 

echo "<option value = " . ($row['name']) . ">". $row['name'] ." </option>"; 
} 

Простое решение вашей проблемы, чтобы сделать действие страницы всех трех форм в то же самое и использовать, если заявления использовать различные запросы для различных входных, например:

if(isset($_GET['name'])){ 
$sql ="query1"; 
} elseif(isset($_GET['yourSecondOption'])){ 
$sql ="query1"; 
}elseif(isset($_GET['yourThirdOption'])){ 
$sql ="query3"; 
}  
+2

Хотя очень верно, что 'mysql_ *' является старым и запущенным, и что ' mysqli_ * 'лучше - это никоим образом не решает вопрос OP - вы также ничего не говорили о * подготовленных операциях * - поэтому его код по-прежнему уязвим для SQL-инъекций! – Qirel

+0

Я знаю старый метод, который я использую, но я думаю, что это не проблема в моем коде. –

+0

Извините, я неправильно понял вопрос. –

Смежные вопросы