Я хочу, чтобы раскрывающийся список показывал «client_code», «name» в одну строку. Это почти работает, но не на 100%. Я начинающий с php и SQL, кто-то может мне помочь, пожалуйста?
Код, который не работает
<form id="thirdForm" name="form1" action="" method="post">
<select id="klantWidth">
<?php
$queryKlant = "SELECT naam FROM klant";
$queryKlantCode = "SELECT klant_code FROM klant";
$resultKlant=mysqli_query($mysqli,$queryKlant);
$resultKlantCode=mysqli_query($mysqli,$queryKlantCode);
while($row=mysqli_fetch_array($resultKlant) &&
$row2=mysqli_fetch_array($resultKlantCode) )
{
?>
<option><?php echo $row[0]. ", ". $row2[0];?></option>
<?php
}
?>
</select>
</form>
Код, который работает только с извлечением имени из выпадающего списка из базы данных
<form id="thirdForm" name="form1" action="" method="post">
<select id="klantWidth">
<?php
$queryKlant = "SELECT naam FROM klant";
$res=mysqli_query($mysqli,$queryKlant);
while($row=mysqli_fetch_array($res))
{
?>
<option><?php echo $row[0]; ?></option>
<?php
}
?>
</select>
</form>
Вы можете выбрать более одного столбца из таблицы в одном и том же списке, и поскольку оба эти столбца находятся в одной и той же таблице, это значительно упрощает получение этого результата.
<form id="thirdForm" name="form1" action="" method="post">
<select id="klantWidth">
<?php
$sql = "SELECT naam, klant_code FROM klant";
$result = mysqli_query($mysqli,$sql);
while($row=mysqli_fetch_array($result)){
?>
<option><?php echo $row[0]. ", ". $row[1];?></option>
<?php
}
?>
</select>
</form>
Вы, вероятно, хотите сделать это с вашим <option>
тег, а не помещать имя и код в видимую часть
<option value="<?php echo $row[1];?>"><?php echo $row[0];?> </option>
И если вы используете mysqli_fetch_assoc()
Вы можете использовать имена столбцов, чтобы вы знали, что вы помещаете туда, где
while($row=mysqli_fetch_assoc($result){
<option value="<?php echo $row['klant_code'];?>"><?php echo $row['naam'];?> </option>
Других решений пока нет …