Я новичок в PHP и SQL и хотел бы знать, какое решение лучше всего подходит для моей проблемы.
В настоящее время у меня есть страница PHP (профиль.php), которая содержит следующие три запроса на выборку:
$academic = "SELECT * FROM t12019 WHERE `Student ID` = {$id}";
$resultb = mysqli_query($conn,$academic);
$stoplight = "SELECT * FROM t1stoplight19 WHERE `Student ID` = {$id}";
$resultc = mysqli_query($conn,$stoplight);
$attendance = "SELECT * FROM t1attendance2019 WHERE `Student ID` = {$id}";
$resultd = mysqli_query($conn,$attendance);
$id происходит из $_POST выбора на предыдущей странице.
таблицы для каждого запроса закодированы, однако я хотел бы, чтобы они были переменной, которую можно обновить из раскрывающегося списка на странице.
Я предполагаю, что это поле выбора на профили.php, где пользователь может выбрать один из «Срок 1», «Срок 2», «Срок 3», «Срок 4». Затем таблицы для каждого запроса будут обновлены в соответствии с выбором.
Любая помощь приветствуется.
Во-первых, чтобы предотвратить внедрение sql, обратитесь к этой статье. stackoverflow.com/questions/60174/…
вам нужно передать выбранный value на ваш запрос, не понял ваш вопрос?






При выборе раскрывающегося списка с помощью javascript отправьте форму и обновите соответствующий код. Пожалуйста, обратитесь к приведенному ниже примеру кода.
HTML-код:
<form action = "update.php" id = "updateFrm" method = "post">
<input type = "hidden" name = "id" value = "<?php echo $id; ?>">
<select name = "term" id = "term" onchange = "updateTable()">
<option value = "term_1">Term 1</option>
<option value = "term_2">Term 2</option>
<option value = "term_3">Term 3</option>
<option value = "term_4">Term 4</option>
</select>
</form>
Jquery-код:
<script type = "text/javascript">
function updateTable() {
document.getElementById("updateFrm").submit();
}
</script>
PHP-код:
<?php
$id = $_POST['id'];
$term = $_POST['term'];
if ($term == 'term_1'){
$sql = "UPDATE t12019 ". "SET field1 = $term ".
"WHERE `Student ID` = $id" ;
$retval = mysqli_query( $conn, $sql );
if (! $retval ) {
die('Could not update data: ' . mysqli_error($conn));
}
echo "Updated data successfully\n";
}else if ($term == 'term_2'){
$sql = "UPDATE t1stoplight19 ". "SET field1 = $term ".
"WHERE `Student ID` = $id" ;
$retval = mysqli_query( $conn, $sql );
if (! $retval ) {
die('Could not update data: ' . mysqli_error($conn));
}
echo "Updated data successfully\n";
}.....and so on.
?>
Большое спасибо @Sangita. Это именно то, что я искал.
Пожалуйста, внимательно прочитайте о SQL-инъекциях, прежде чем делать такие вещи! В качестве первого запуска я бы предложил: en.wikipedia.org/wiki/SQL_injection