尝试根据存储在mysql数据库中的引用在下拉列表中选择一个选项。
在生成一个已经在while循环中的表时会发生这种情况。
我已经尝试了以下关注
<option selected='<? if ( $row2xsecid == $row1x[item_sub_sec_id]) { echo "selected"; } ?>' value="<? echo $row1x[item_sub_sec_id]; ?>"><? echo $row1x[item_sub_sec_title]; ?></option>
我似乎无法根据存储在mysql中的引用选择选项。
该摘录
<div class="input-group">
<span class="input-group-addon">Select Group</span>
<select id='add_item_groupid' class="form-control">
<?
$sql1x = 'SELECT * FROM items_sub_section_list ORDER BY item_sub_sec_id ASC';
$result1x = mysql_query($sql1x);
while ($row1x = mysql_fetch_array($result1x)) {
?>
<?
$sql2x = 'SELECT * FROM items_groups WHERE item_id=$itemid';
$result2x = mysql_query($sql2x);
while ($row2x = mysql_fetch_array($result2x)) { $row2xsecid = $row2x[item_sub_sec_id]; }
?>
<option selected='<? if ( $row2xsecid == $row1x[item_sub_sec_id]) { echo "selected"; } ?>' value="<? echo $row1x[item_sub_sec_id]; ?>"><? echo $row1x[item_sub_sec_title]; ?></option>
<?
}
?>
</select>
</div>
完整脚本的pastebin - http://pastebin.com/NZrETate
答案 0 :(得分:0)
我看到你正在取代数组而不是关联数组。 (第27行:mysql_fetch_array而不是:mysql_fetch_assoc)
这样做你必须记住你的字段索引以0开头并且是数字,这意味着它将返回Undefined index:
line40: <td><? echo $row['item_id']; ?></td>
因为您获取了一个数组,这也会返回未定义的索引:$ itemid = $ row [&#39; item_id&#39;]; 由于$ itemid未定义,第49行的查询也将失败:
$secid = mysql_query(" SELECT * FROM item_groups WHERE item_id='$itemid' ");
我也无法看到item_sub_sec_id在哪里声明? (在PHP中,如果这是一个变量,它必须在前面有一个$:$ item_sub_sec_id)
你能看到PHP给你带来的错误吗? 如果不是,我建议显示所有错误:
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
如果您对这些问题进行了排序,我们可以查看问题,如果我们知道数据库结构的样子,我也会更容易为您提供解决方案。