附加" 1"来自MYSQL的下拉值

时间:2015-07-21 11:52:14

标签: php html mysql

有关于从MYSQL源连接HTML中的Dropdown select选项的问题。我已成功将我的下拉项目与数据库连接,但我注意到,还有其他" 1"下拉列表中的值,不存储在数据库中。以下是下拉列表的外观: Here is how does dropdown look:

有来自数据库数据及其结构的屏幕截图: Database's data

enter image description here

最后,还有PHP代码,它将我的下拉项与数据库连接:

  $sql = "SELECT dan, datum, lokacija FROM termini";
  $result = mysql_query($sql);

  echo "<td><select name='dan, datum, lokacija'>";
  while ($row = mysql_fetch_array($result)) {
    echo "<option value='" . $row['dan'], $row['datum'], $row['lokacija'] . "'>" . $row['dan'], print(" , "),  $row['datum'], print(" , "), $row['lokacija'] . "</option>";
  }
  echo "</select></td>";

  ?>
</select>

为什么会出现&#34; 1&#34;之前的数据&#39; Datum&#39;和&#39; Lokacija&#39;?

2 个答案:

答案 0 :(得分:2)

输出中附加&#34; 1&#34; s的原因是此行中的print()语句:

echo "<option value='" . $row['dan'], $row['datum'], $row['lokacija'] . "'>" 
     . $row['dan'], print(" , "),  $row['datum'], print(" , "), $row['lokacija'] 
     . "</option>";

事实上,如果您在此处使用,.语法来表示回音并不重要。

原因在于您的print(" , ")声明:

  • print()echo之前执行,因为它是echo参数的一部分。
  • print(" , ")将字符串" , "回显给STDOUT ,而 返回true(= 1)表示成功。
  • 生成的true值转换为1,然后由echo写入STDOUT。

组合使用echoprint()基本上是两次相同的说法。您的代码应该是:

echo "<option value='" . $row['dan']. $row['datum']. $row['lokacija'] . "'>" 
     . $row['dan'] . " , " . $row['datum'] . " , " . $row['lokacija'] 
     . "</option>";

答案 1 :(得分:-2)

您的代码存在问题。 name='dan, datum, lokacija' - 名称应该是一个值。为什么使用逗号 连接是错误的。(加入变量) $row['dan'], $row['datum'], $row['lokacija'] - 不正确 $row['dan']." ".$row['datum']." ".$row['lokacija'] - 正确