对于从MYSQL源连接HTML中的Dropdown select选项有疑问。我已成功将下拉列表项与数据库连接,但是我注意到,下拉列表中还有其他“ 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>
为什么在“基准”和“ Lokacija”之前存在“ 1”值?
最佳答案
输出中额外的“ 1”的原因是此行中的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。结合使用
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/