大家好我有问题这是result
这是我的代码。
$iqry2 = $mysqli->prepare("SELECT itemname,unitmeasure FROM table_item");
$iqry2->execute();
$iqry2->bind_result($itemname,$unitmeasure);
$iqry2->store_result();
<div class="form-group ">
<label for="itemname" class="control-label col-lg-2">Item Name</label>
<div class="col-lg-10">
<select name="iname" class="form-control">
<?php
while ($iqry2->fetch()){
echo "<option>$itemname</option>";
?>
</select>
</div>
</div>
<select name="unit" class="form-control">
<?php
echo "<option>$brandname</option>";
}
?>
</select>
</div>
</div>
答案 0 :(得分:2)
您确定您的查询未返回空吗?
您应该对查询返回的数据执行vardump()。如果它为NULL或FALSE,那么您需要修改查询以检查它是否为空。如果不为空,则继续。
答案 1 :(得分:1)
你也有
</select>
</div>
</div>
<select name="unit" class="form-control">
在你的while循环中,所以不是填充2 select
个框,而是连续关闭并打开新的下拉列表。
将其更改为:
<?php
$items = array();
$brands = array();
// First create 2 arrays with all options
while ($iqry2->fetch()){
$items[] = $itemname;
$brands[] = $brandname;
}
$iqry2->close();
?>
<!--Now use those arrays to fill 2 seperate selectboxes-->
<select name="iname" class="form-control">
<?php foreach($items as $item):?>
<option><?=$item?></option>
<?php endforeach;?>
</select>
<select name="unit" class="form-control">
<?php foreach($brands as $brand):?>
<option><?=$brand?></option>
<?php endforeach;?>
</select>
答案 2 :(得分:0)
你想做什么?你有1或2个选择?
你做了一段时间,它应该只推送<option>
,但在你写一个<select>
标签的同时你正在另一个选择...
<select name="iname" class="form-control">
<?php
while ($iqry2->fetch()){
echo "<option>$itemname</option>";
} // Add this bracket here to finish your while
?>
</select>
<select name="unit" class="form-control">
<?php
// You need another while here
while ( ???? ) {
echo "<option>$brandname</option>";
}
?>
</select>
我不确定你想做什么,但我认为你必须做2个sql请求,一个select itemname...
然后一秒select brandname
但是阅读你的代码我真的不知道你的期望是什么:(