2011-11-17 125 views
0

我想從php中的mysql表中填充選擇框(下拉列表),但我得到空白結果,有人可以看看我的代碼,並告訴我什麼是錯的?從php mysql數據庫填充選擇框

我需要填充選擇具有可從我的SQL查詢的日期,所以他們顯示爲seletion選項....

<?php 

echo JText::_('Please select the date:'); 

$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

什麼是'JText' /'JFactory'?什麼是實際輸出(即呈現的HTML)? – lonesomeday

+0

另外...當你var_dump($ result)'時,你會得到什麼? – Rob

+0

這一個帶來了結果:的foreach($結果作爲$密鑰=> $值){ $ selHtml = $選擇== $值 - > ID? 'selected =「selected」':''; echo「」; } – user959443

回答

1
echo '<option value="'.$row->training_id.'">'.$row->trainingDate.'</option>'; 

如果不工作,然後你的$按行> training_id沒有設置,因此你需要調試(如做的print_r($行)就在那條線之前,看看裏面有什麼$行對象)

+0

酷,帶來的ID,我怎麼調出traininDate – user959443

+0

更新回答現在 – Nick

+0

好吧我改變了training_id trainingDate和工作,謝謝..現在剩下的.... – user959443

3

您指定一個選項值,但你不提供人性化可讀的文本選項:

echo '<select name="whatever">'; 
foreach ($result as $row) { 
               <!-- here we go --> 
    echo '<option value="'.$row->training_id.'">'.$row->training.'</option>'; // always close options!!! 

} 
echo '</select>'; 
+0

什麼是尾隨? – user959443

+0

這是我的錯字。應該是'訓練'。固定 – Nemoden

+0

你的意思是訓練正確,你可以在這裏驗證sintax,它似乎是錯誤的:echo''; //總是關閉選項! – user959443

0

試試這個:

while($row = mysql_fetch_object($result)) { 

,而不是這樣的:

foreach($result as $row) {