数组中的php下拉列表没有填充

时间:2014-07-03 16:37:06

标签: php mysql arrays drop-down-menu array-population

我在使用PHP填充select元素时遇到了麻烦。目前,我创建了一个包含从数据库中提取的信息的数组。这用于编辑或插入日志中的条目以保存记录。

代码中使用的变量处理客户编号和客户名称,如果这有助于提供任何额外的相关性。

下面列出的方法适用于不是新条目(编辑现有条目)的情况,但在新条目($ ID == 0)的情况下,选项不会填充。

$ID = $_GET['ID'];
connectDB();
$mons = "SELECT * FROM mons ORDER BY mName ASC";
$mons = queryHashArray($mons);
disconnectDB();

<tr><td><select name="mID"> <?php
foreach($mons as $m) { 
  if($ID == 0) { ?>
      <option value="<?= $m['cusNum'] ?>"><?= $m['mName'] ?></option> <?php }
  else { ?>
      <option value="<?= $m['cusNum'] ?>" <?php if($record['mID'] == $m['cusNum']) echo "selected=\"selected\""; ?> ><?= $m['mName'] ?></option> <?php 
      } 
  }?> 
  </select></td>

任何帮助将不胜感激。我在网上找不到一个特定于我的问题的例子。我希望这是一个小而简单的东西,我忽略了。

更新:

以下是编辑现有条目和新条目的页面来源。

现有条目:由于隐私问题,选项文本已更改为“名称已省略”。

<tr><td><select name="mID">         <option value="3" selected="selected" >Name Omitted</option>        <option value="0"  >Name Omitted</option>           <option value="0"  >Name Omitted</option>

新条目:

<tr><td><select name="mID"> <br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/folder/public_html/subfolder/file.php</b> on line <b>265</b><br />

</select></td>

$ record在代码中的其他位置定义,并且是正在编辑的记录。如果是新记录,则所有值都设置为''。

这有帮助吗?

1 个答案:

答案 0 :(得分:0)

看起来你的queryHashArray函数在ID为0时不返回数组。 确保ID或$ _GET [&#39; ID&#39;]变量不会覆盖您函数中使用的变量。

运行该功能后立即尝试print_r($mons)。这将显示函数返回的内容。

相关问题