2013-09-01 65 views
0

我試圖從數據庫動態加載數據。就像用戶單擊表單中的選擇按鈕時一樣,數據將從數據庫動態加載。但問題是我必須使用PDO。我沒有得到輸出,不知道什麼是錯的。這是我的代碼 -嘗試從使用PDO的數據庫動態加載數據

<tr><td><font size="+1">Region :</font></td> 
<td><Select name="region" class="regionfields" id="wineRegion"> 
<option id="0">-- Select Region --</option> 
<?php 

$hostname = 'localhost'; 

$username = 'ovic'; 

$password = 'root'; 

try { 
$dbh = new PDO("mysql:host=$hostname;dbname=winestore", $username, $password); 

echo 'Connected to database<br />'; 


$sql = "SELECT region_name FROM region"; 


$stmt = $dbh->query($sql); 


$obj = $stmt->fetch(PDO::FETCH_OBJ); 


foreach($obj->region_name AS $W) 
{?> 

<option id="<?php echo $W; ?>"><?php echo $W; ?></option> 
<?php 

} 

/*** close the database connection ***/ 
$dbh = null; 
} 
catch(PDOException $e) 
{ 
echo $e->getMessage(); 
} 
?> 
</Select></td></tr> 

回答

1

您可能需要使用$ stmt-> fetchAll(),它返回一個對象數組。 fetch()方法只返回一個對象。

$regions = $stmt->fetchAll(PDO::FETCH_OBJ); 
foreach ($regions as $region) { 
?> 
    <option id="<?php echo $region->region_name; ?>"> 
     <?php echo $region->region_name; ?></option> 
<?php 
} 

如果失敗,嘗試對fetchAll()的結果執行print_r以查看是否返回任何內容。

+0

謝謝你......現在工作 – Ovic