我有一個分貝,我試圖值提取到一個列表從數據庫中提取值來填充下拉
這裏是我試圖運行的代碼(我不得不從其他地方適應),這應該返回一個數組,從中我要選擇AllianceName屬性
<?php
//database connection file setting.inc will need to be modified for production
include ("settings.inc");
$con = mysqli_connect("$dbhost", "$dbuser", "$dbpass");
if (!$con) {
exit('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
//set the default client character set
mysqli_set_charset($con, 'utf-8');
mysqli_select_db($dbname, $con);
$options = array();
$options[] = "<option value=''>--?--</option>";
$query = "
SELECT *
FROM `City`
GROUP BY `AllianceName`
";
$db = mysqli_query($query);
foreach ($db as $d) {
$options[] = "<option value='{".$d['AllianceName']."}'></option>";
}
?>
<select class="" id="articles" size="1" name="articles">
<?php echo implode("\n", $options); ?>
</select>*/
眼下這隻返回? - - ,我的選項數組中定義。它不解析查詢中的任何值。我知道查詢本身是正確的,因爲我已經完全按照SQL服務器中的這種語法運行它,並且它可以工作。
我很確定這是一個語法錯誤... var_dump($ db)給了我一個布爾(假)輸出。
下面是我使用的最新代碼:
<?php
//database connection file setting.inc will need to be modified for production
include ("settings.inc");
$db = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
if($db->connect_errno > 0){
die('Unable to connect to database [' . $db->connect_error . ']');
}
?>
<select class="Select" id="articles" size="1" name="articles">
<?php
$sql = <<<SQL
SELECT DISTINCT `AllianceName`
FROM `City`
SQL;
if(!$result = $db->query($sql)){
die('There was an error running the query [' . $db->error . ']');
}
while($row = $result->fetch_assoc()){
echo "<option value="'.{$row['AllianceName']}.'"></option>";
}
?>
</select>
查詢本身運行正常,當我剛剛呼應的結果。試圖把它放到下拉菜單中,每次都失敗。沒有值填充。
謝謝,但你以爲我沒有讀到這個問題。我做過,但是我所遇到的大部分文獻都是主題/案例特定的,所以我所做的就是嘗試在我自己的代碼示例中使用這些概念。另外,對我來說絕對是新的編碼語言。 – MSM 2013-04-09 23:20:47
重點不在*閱讀。*但在*運行示例代碼*。讓自己熟悉基本的操作。$ result-> fetch_assoc必須通過教程來獲得,而不是通過詢問Stack Overflow的問題。這不是教程網站。這只是問答網站。意味着你必須在提問之前用基本的教程例子來完成。 – 2013-04-10 05:13:11