您好我正在尝试使用MySQL填充整个下拉列表但我无法让它工作,您能帮忙吗?
我的代码:
$database=& JFactory::getDBO();
$database->setQuery('SELECT training_id,training,trainingDate FROM training ');
$result = $database->loadObjectList();
echo '<select name="whatever">';
while($row = mysql_fetch_array($result)) {
echo '<option value="$row[training_id" />';
}
echo '</select>';
答案 0 :(得分:5)
您的echo字符串不允许嵌入变量,因为您使用单引号而不是双引号。
实现此回声:
echo '<option value="' . $row["training_id"] . '" />';
答案 1 :(得分:1)
不知道输出是什么,很难知道这是否是唯一的问题,但代码中的明显错误是:
echo '<option value="$row[training_id" />';
因为它是单引号,所以不解释变量。你需要使用双引号(并关闭方括号!):
echo "<option value=\"{$row['training_id']}\" />";
请注意,我已经将变量解释的样式更改为使用花括号:我相信这更容易阅读和更清晰。
答案 2 :(得分:1)
除了使用单引号外,您还可以:
<option>
的结束标记。您可能希望将输出更改为此类型,以便向用户显示一些选项文本:
echo '<select name="whatever">';
while($row = mysql_fetch_array($result)) {
echo '<option value="' . $row['training_id'] . '"> ' . $row['training'] . '</option>';
}
echo '</select>';
答案 3 :(得分:1)
$database= &JFactory::getDBO();
$database->setQuery('SELECT training_id,training,trainingDate FROM training');
$result = $database->loadObjectList();
echo '<select name="whatever">';
foreach ($result as $row) {
echo '<option value="'.$row->training_id.'" />';
}
echo '</select>';
使用#__表格前缀。
答案 4 :(得分:1)
$database= &JFactory::getDBO();
$database->setQuery('SELECT training_id,training,trainingDate FROM training');
$result = $database->loadObjectList();
echo '<select name="whatever">';
foreach ($result as $row) {
echo '<option value="'.$row->training_id.'" />';
}
echo '</select>';
此代码有效,但使用空选项填充列表。我必须在下面显示一个简单的回声,并且工作得很好。出于某种原因,$ row-&gt; teremnev对我来说是空的。我确定这不是正确的方法,但它确实有效。
$db =& JFactory::getDBO();
$query = "SELECT teremnev FROM #__teremlista";
$db->setQuery($query);
$result = $db->loadResultArray();
echo '<select name="termek">' ;
foreach ($result as $row) {
echo '<option value="'.$row->teremnev.'" />';
echo $row;
}
echo '</option>';
echo '</select>';
答案 5 :(得分:0)
<select>
<option>Select Training</option>
while($row = mysqli_fetch_array($result))
{
echo "<option>". $row['training_name']."</option>";
}
</select>