填充的mysql中的未定义索引选择设置时选择

时间:2016-01-04 19:05:35

标签: php mysql select undefined

我有一个正在从mysql查询中正确填充和显示的选择下拉列表:

  <select name="title">
  <option></option>
  <?php
    while($row = mysql_fetch_assoc($title_data)) {
      echo '<option value=' . $row["title"];
      echo '>' . $row["title"];
      echo '</option>';
    } 
  ?>
  </select>

当我添加代码以检查选择了哪一行时,我在查询结果中的每一行都得到一个未定义的索引错误:

  <select name="title">
  <option></option>
  <?php
    while($row = mysql_fetch_assoc($title_data)) {
      echo '<option value=' . $row["title"];
      if($_POST["title"] == $row["title"]) {
        echo ' selected';
      }
      echo '>' . $row["title"];
      echo '</option>';
    } 
  ?>
  </select>

我对此非常陌生,可能会遗漏一些明显的东西。我检查了帖子,没有看到这个特殊的例子,我在查询中使用while循环并尝试回显所选属性。实际的错误文本将插入下拉框中:

  

注意:未定义的索引:第215行的C:\ xampp \ htdocs \ indexdb.php中的标题&gt;分析师I“并显示在下拉框中的每一行。

我很抱歉,如果我已经说过,这是我的第一个PHP代码并且只是一个原型。这是我无法克服的唯一障碍。

1 个答案:

答案 0 :(得分:0)

您需要封装value属性的数据。

echo '<option value="' . $row["title"] . '" ';

然后要解决未定义的索引,首先检查该字段是否已填充:

if(!empty($_POST["title"]) && $_POST["title"] == $row["title"]) {