PHP - выпадающее меню заполняется, но не будет выбирать, используя 2 таблицы

Я работаю над этим, по крайней мере, месяц, и не могу найти этот вопрос в другом месте. Я знаю, что мне просто не хватает чего-то глупого, но...

Есть 2 таблицы: biz и bizclass. bizclass.bizclassName содержит классификации 250+ для заполнения раскрывающегося списка. Население из таблицы bizclass и обновление в таблицу biz работают, но когда я пытаюсь выбрать текущие данные из biz.bizClass1, начальное значение выпадающего значения устанавливается как нулевое значение "Выбрать класс". Пожалуйста помоги. Это заставляло меня бредничать. Я слишком стар для многих бессонных ночей! Новичок - немного знакомый с php и javascript, но пока не хватающий аякс.

echo "Class1: <select name="bizClass1" id="bizClass1"> ";
$sql = 'SELECT bizclassName FROM bizclass ORDER BY bizclassName';
$query2 = 'SELECT 'bizClass1' FROM 'biz' WHERE 'bizID' = "'. $search .'"';
$clist = mysqli_query($connection,$sql);
$num=mysqli_num_rows($clist);
$olist = mysqli_query($connection, $query2); // select bizClass from biz
$bizTblRecord = mysqli_fetch_assoc($clist); // option values from bizclass table to populate the dropdown
$row2 = mysqli_fetch_assoc($olist); // fetched the bizClass from biz
if ($row2['bizClass1'] == $bizTblRecord['bizclassName']){ printf ("<option value="%s" selected>%s</option> ", $row2['bizClass1'], $row2['bizClass1']);
} else { printf ("<option value="">Select Class</option> ");
}//end if
for($numrows=1; $numrows<= $num; $numrows++)
{ // Associative array $row=mysqli_fetch_assoc($clist); printf ("<option value="%s">%s</option>",$row['bizclassName'],$row['bizclassName']);
} //end for
echo "</select>";
// Free result set
mysqli_free_result($clist);
mysqli_free_result($olist);
1 ответ

echo "Class1: <select name="bizClass1" id="bizClass1"> <option value="">Select Class</option> "; $sql = 'SELECT bizclassName FROM bizclass ORDER BY bizclassName'; $clist = mysqli_query($connection,$sql); $num=mysqli_num_rows($clist); $querySEARCH = 'SELECT 'bizClass1' FROM 'biz' WHERE 'bizID' = "'. $search .'"'; $SEARCHlist = mysqli_query($connection, $querySEARCH); // select bizClass from biz $rowSEARCH= mysqli_fetch_assoc($SEARCHlist); // fetched the bizClass from biz for($numrows=1; $numrows<= $num; $numrows++) { // Associative array $row=mysqli_fetch_assoc($clist); if ($rowSEARCH['bizClass1'] == $row['bizclassName']){ printf ("<option value="%s" selected>%s</option> ", $rowSEARCH['bizClass1'], $rowSEARCH['bizClass1']); } else { printf ("<option value="%s">%s</option>",$row['bizclassName'],$row['bizclassName']); }//end if } //end for echo "</select>"; // Free result set mysqli_free_result($clist); mysqli_free_result($SEARCHlist);

Если оператор должен находиться внутри цикла, чтобы сравнить каждый параметр с поиском.

Тестовые таблицы:

бизнес

bizID bizClass1
1 ronaldo
2 shevshenko
3 falcao
4 zidane
5 valderrama

bizclass

bizclassName
falcao
ozil
ronaldo
messi
shevshenko
valderrama
hazard
totti

licensed under cc by-sa 3.0 with attribution.