Я хочу заполнить другое поле со списком данными, относящимися к предыдущему выбору. Это код, и когда я пишу запрос, он жестко кодирует идентификатор теста, но когда я пытаюсь использовать значение назначенной переменной, он не работает. Пожалуйста, помогите мне.
<select id="category" class="form-control input-default" name="category" id="category">
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "zoo";
$cat= $_POST['category'];
if($cat=="Kids's Quiz")
{
$id=1;
}
if($cat=="Quiz Aves")
{
$id=2;
}
if($cat=="Quiz Mammalia")
{
$id=3;
}
if($cat=="Quiz Reptilia")
{
$id=4;
}
if($cat=="Quiz Pisces")
{
$id=5;
}
if($cat=="Funquiz")
{
$id=6;
}
$connect=mysqli_connect($servername, $username, $password) or die("Connection failed");
mysqli_select_db($connect,$dbname) or die("Connection failed");
$result=mysqli_query($connect,"SELECT question FROM questiontable WHERE quizID=$id");
while($row=mysqli_fetch_assoc($result))
{
?>
<option value = "<?php echo $row['question'] ?>"> <?php echo $row['question'] ?>
</option>
<?php
}
?>
</select><?php
mysqli_close($connect);
?>
Почему бы не использовать идентификатор в качестве значения опции … и «вопрос» к тексту опции?
Сначала … объявляем переменную $ id …
($ Id = 0);
Во-вторых … используйте это …
$ cat = (isset ($ _POST [‘category’])? $ _POST [‘category’]: 0);
до первого условия
Других решений пока нет …