有一个关于从 MYSQL 源连接 HTML 中的下拉选择选项的问题。我已成功将下拉项与数据库连接,但我注意到,下拉列表中有额外的“1”值,该值未存储在数据库中。下拉菜单的外观如下:
有数据库数据及其结构的屏幕截图:
最后,有 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。
结合使用echo
和print()
基本上就是把同样的事情说了两遍。您的代码应该是:
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/