2011-11-16 44 views
1

嗨我想填充與MySQL的整個下拉列表,但我不能得到它的工作,你能幫助嗎?動態填充從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

嘗試回聲 '<選項值= $行[training_id] />';代替。 – kapillohakare

回答

5

您的echo字符串不允許嵌入變量,因爲您使用的是單引號而不是雙引號。

,而不是實現此呼應:

echo '<option value="' . $row["training_id"] . '" />'; 
1

不知道的輸出是什麼,很難知道這是否是唯一的問題,但在你的代碼中明顯的錯誤是這樣的:

echo '<option value="$row[training_id" />'; 

因爲這是在單引號中,變量不被解釋。你需要用雙引號(和關閉方括號!):

echo "<option value=\"{$row['training_id']}\" />"; 

請注意,我已經改變變量解釋的風格來使用大括號:我相信這是更容易閱讀和清晰。

1

除了使用單引號,你也是:

  1. 缺少一個右括號。
  2. 缺少<option>的結束標記。

你可能想你的輸出改變這樣的事情,所以你顯示一些選項的文字給用戶:

echo '<select name="whatever">'; 
while($row = mysql_fetch_array($result)) { 
    echo '<option value="' . $row['training_id'] . '"> ' . $row['training'] . '</option>'; 
} 
echo '</select>'; 
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>'; 

使用#__爲表前綴。

+0

選擇查詢工作正常,只是我不能用ID填充選擇框... – user959443

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-> 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>'; 
0
<select> 
<option>Select Training</option> 

while($row = mysqli_fetch_array($result)) 
{ 
echo "<option>". $row['training_name']."</option>"; 

} 
</select>