2014-03-31 73 views
-3

我一直在试图填充下拉列表中的结果从一个查询使用PHP从一个MySQL表,但列表是空的。有人可以看看我的代码,告诉我我做错了什么。从php表中查询结果填充下拉列表

我的查询是Select cat from kernel

我使用的代码:$results = $query->fetchAll();

继承人我的代码:

<?php 

$dbhandle = new PDO('host','username','password'); 


$sql = "SELECT cat FROM kernel"; 
$results = $query->fetchAll(); 

echo "<select name='cat'>"; 
while ($row = mysql_fetch_array($result)) { 
echo "<option value='" . $row['cat'] . "'>" . $row['cat'] . "</option>"; 
} 
echo "</select>"; 

?> 
+0

有没有导致你的查询?如果是这样,你需要在我们提供帮助之前发布更多的代码。 –

+0

$结果返回什么? – ComputerLocus

+0

这是重复的。检查这里:http://stackoverflow.com/questions/5327235/populate-dropdown-with-mysql-query-results-php-mysql – broinjc

回答

0
<?php 

$sth = $dbhandle->prepare("SELECT cat FROM kernel"); 
$sth->execute(); 
$results = $sth->fetchAll(PDO::FETCH_ASSOC); 

echo "<select name='cat'>"; 
foreach($results as $row) { 
    echo "<option value='" . $row['cat'] . "'>" . $row['cat'] . "</option>"; 
}  
echo "</select>"; 

?> 

http://us2.php.net/manual/en/pdostatement.fetchall.php

+0

感谢它的工作!在行附近有一个额外的括号:“$ results = $ sth-> fetchAll(PDO :: FETCH_ASSOC));”应该是“$ results = $ sth-> fetchAll(PDO :: FETCH_ASSOC);” – aab

+0

哎呀!我的错。我将通过编辑修复此问题。 – broinjc