php - 来自 MYSQL 的下拉列表中的附加 "1"值

标签 php html mysql

有一个关于从 MYSQL 源连接 HTML 中的下拉选择选项的问题。我已成功将下拉项与数据库连接,但我注意到,下拉列表中有额外的“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>

为什么“Datum”和“Lokacija”之前有“1”值?

最佳答案

输出中出现额外“1”的原因是此行中的 print() 语句:

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

事实上,如果您在此处使用 . 语法进行 echo 并不重要。

原因在于您的 print(", ") 语句:

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

结合使用echoprint()基本上就是把同样的事情说了两遍。您的代码应该是:

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

关于php - 来自 MYSQL 的下拉列表中的附加 "1"值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31538305/

相关文章:

javascript - 隐藏图像宽度的百分比

php - 以下 PHP 代码片段的 Node.js 等效程序

php - 操作预先编写的 MySQL 查询 - PHP

mysql - 如何编写这个基本的内连接 SQL 查询

php - 如何使用ajax附加外部内容?

php - MySQL:如何获取上次更新的更改

html - CSS:无法以 % 为单位设置滚动的 tbody 高度

JavaScript 和 jquery - moveTo 和悬停

javascript - bxSlider 框架比内容宽

mysql - 导入从 mysqldump --routines 生成的 mysql 程序