выпадающее меню — заполнение выпадающего списка из базы данных переполнение стека

У меня есть довольно простой код, который не делает то, что я хочу. Я просто хочу, чтобы он взял уникальные числа категории года в моей таблице и ввел их в раскрывающееся окно, но с этим кодом я получаю только одну опцию, которая говорит: $ row [‘year’]

Любая помощь приветствуется.

<!DOCTYPE html>
<html>
<form name="testform" method='POST' action='mainck.php'>
<?Php
require "config.php";

echo "<br>Select year first <select name=year id ='s1' onchange=AjaxFunction();>
<option value=>Select a Year</option>";

$sql="SELECT DISTINCT year from PlayerRegSeason";

foreach ($dbo->query(&sql) as $row) {
echo "<option value=$row['year']>$row['year']</option>";
}
?>
</select>
</form>
</html>

0

Решение

Отсутствует много цитат в вашей разметке. Лучше быть непротиворечивым в двойных и одинарных кавычках, но следующее должно как минимум работать:

<!DOCTYPE html>
<html>
<form name="testform" method='POST' action='mainck.php'>
<?php
require "config.php";

echo "<br>Select year first <select name='year' id='s1' onchange='AjaxFunction();'>
<option value=''>Select a Year</option>";

$sql="SELECT DISTINCT year from PlayerRegSeason";

foreach ($dbo->query($sql) as $row) {
echo "<option value='".$row['year']."'>".$row['year']."</option>";
}
?>
</select>
</form>
</html>
1

Другие решения

Как сказал Бен, некоторые изменения сделают его более вероятным. Но я бы держал в стороне вещи, которые не нуждаются в PHP. Обязательно используйте HTML правильно (это не решит эту проблему, но это хорошая практика, такие теги, как HEAD и BODY).

Если это все еще не работает, проверьте ваш запрос непосредственно на phpMyAdmin или на клиенте MySQL. Еще одна вещь, которую я обычно делаю, когда застреваю в подобных ситуациях: print_r () мое возвращение

PS .: Проверь еще раз в своем Еогеасп ($ dbo-> запрос (&SQL) как $ row) { если & это знак того, что вы хотите. (Я не совсем уверен, что & знак будет делать там, так что мой плохой, если я ошибаюсь.)

Я изменил некоторые вещи в вашем коде, проверьте это:

<!DOCTYPE html>
<html>
<body>
<form name="testform" method='POST' action='mainck.php'>
<label for="s1">Select year first</label>
<select name='year' id ='s1' onchange='AjaxFunction();'>
<option value=''>Select a Year</option>
<?php
require "config.php";

echo "";

$sql="SELECT DISTINCT year from PlayerRegSeason";

$return = $dbo->query($sql);
print_r($return);

foreach ($return as $row) {
echo "<option value='".$row['year']."'>".$row['year']."</option>";
}
?>
</select>
</form>
</body>
</html>
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector