我想創建一個填充數字的下拉列表。這些數字需要從數據庫中檢索。到數據庫,並假定顯示用代碼的連接如下:檢索數據庫中的下拉選項
的函數來檢索的選項下拉
<?php
function dropdown_menu() {
global $wpdb;
/* Query the database */
$query = $wpdb->prepare('SELECT * FROM LID ORDER BY LidID', 'LID', 'LidID');
$results = $wpdb->get_results($query);
/* Check for $results */
if(!empty($results)) :
/* Loop through the $results and add each as a dropdown option */
global $options;
$options = '';
foreach($results as $result) :
echo ("<option value=\"<?php echo $item->LidID ?>\"> <?php echo $item->LidID ?> </option>");
endforeach;
endif;
}
?>
,其包括上述的函數轉換成一種形式的語句:
<tr class="form-field form-required">
<th scope="row"><label for="LidID">Lid ID <span class="description">(verplicht)</span></label></th>
<td><select name="LidID" id="LidID" value="<?php echo $item->LidID ?>" aria-required="true"> <?php dropdown_menu(); ?> </select></td>
</tr>
我遇到的問題是,它創建了一個下拉列表,其中包含相應數量的數據庫中的「LidID」記錄,但它們都顯示爲空白。我一直在玩弄它,我想我知道問題是什麼,但我不知道如何解決它。我認爲問題在於回聲陳述中;
echo ("<option value=\"<?php echo $item->LidID ?>\"> <?php echo $item->LidID ?> </option>");
當我刪除第二個LidID?>並用例如5代替它時,它顯示一個五個列表。由於某種原因,它不承認我寫的陳述。我試圖將echo語句中的$ item-> LidID轉換爲$ result-> LidID,但這似乎沒有任何影響。有沒有人有絲毫的想法在這裏出了什麼問題?
哦,是的,我不知道它是否有相關性,但它是一個WordPress的插件。
似乎並沒有做任何的伎倆,他們仍然顯示空 – Ciphra
哈哈,我看你剛纔編輯您的文章,因爲我想再次回覆。我用$ result替換$ item,現在它可以工作。謝謝您的幫助! – Ciphra
你是完整的功能被搞砸了。我已更新我的答案,以顯示它應該是什麼樣子。 – Styphon