有关于从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>
为什么会出现&#34; 1&#34;之前的数据&#39; Datum&#39;和&#39; Lokacija&#39;?
答案 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。组合使用echo
和print()
基本上是两次相同的说法。您的代码应该是:
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']
- 正确