0

我希望下拉菜单在一行中显示“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>
4

1 回答 1

2

您可以在同一个选择中从一个表中选择多个列,并且由于这两个列都位于同一个表中,因此生成此结果变得更加简单。

<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>
于 2018-12-03T18:35:09.153 回答