我有这张叫做studien的表:
我想创建一个下拉菜单,该菜单首先使用以下语句创建5个不同的类别(列类别):
"SELECT DISTINCT category FROM studien ORDER BY category ASC";
在另一个队列中,我收集研究名称的名称和ID,并将其类别与第一个队列中的类别进行比较。
由于某种原因,这是行不通的。
我阅读了有关multi_query的内容,但是如何比较同一张表中的相同值?
预先感谢
$selectvar = "SELECT * FROM studien ORDER BY name ASC";
$selectvar2 = "SELECT DISTINCT category FROM studien ORDER BY category ASC";
$result = mysqli_query($mysqli,$selectvar);
$result2 = mysqli_query($mysqli,$selectvar2);
while ($row2 = mysqli_fetch_array($result2))
{
echo "<option value='cat'>".utf8_encode($row2['category'])."</option>";
while ($row = mysqli_fetch_array($result))
{
if($row2['category'] == $row['category'])
{
echo "<option value=".$row['id'].">".utf8_encode($row['name'])."</option>";
}
}
}
答案 0 :(得分:0)
您的问题是您在内部循环中多次调用mysqli_fetch_array($ result),而没有为$ result重置指针。 PHP不允许您在不首先重置结果指针的情况下重用mysqli_query()的结果。您可以通过添加行来重置指针
mysqli_data_seek($ result,0);
每次调用mysqli_fetch_array($ result)之前。
[道歉,我在用手机]