2012-06-01 88 views
1

我试图做一个下拉列表与我的列之一的数据...我流浪如果下面的代码是这样做的...(它doesn' t的工作方式)非常感谢!PHP MYSQL列数据下拉列表

<select id="teamlist" name="teamlist"> 
<?php 
     $pdo = new PDO('mysql:host=localhost;dbname=clubresults', 'root', '12345678'); 
    #Set Error Mode to ERRMODE_EXCEPTION. 
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 



$stmt = $pdo->prepare('Select teamname from members'); 

    while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 
    echo "<option>$row</option>"; 
    } 
?> 
</select> 
+0

什么是不工作? – ajreal

+0

好吧,它给了我一个空的名单.. – Tuzki

+1

我不熟悉PDO,但$行真的是你想使用的价值?或者你是否需要$ row的子项(如$ row [0])? –

回答

3

您必须先执行您的语句,然后才能获取结果。

$stmt->execute(); 

,或者您可以使用query

$pdo->query('select ... '); 

你可以阅读更多herehere

0

Referring this link

必须执行如下准备发言。

$sql = 'SELECT name, colour, calories 
    FROM fruit 
    WHERE calories < :calories AND colour = :colour'; 
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY)); 
$sth->execute(array(':calories' => 150, ':colour' => 'red')); 
$red = $sth->fetchAll(); 
$sth->execute(array(':calories' => 175, ':colour' => 'yellow')); 
$yellow = $sth->fetchAll(); 
0

pdoStatement::fetch返回一个关联array,你需要你的数组中选择正确的值,而不是只给数组本身打印,正如你注意到照片输出什么。

echo "<option>{$row['teamname']}</option>"; 

是你所需要的

+0

这就是它只是列出了我的列表中的数组! – Tuzki

+0

Rawkode是正确的,你仍然需要首先发出execute(),不要忘记也这样做 –

+0

它给了我6个选项..与列中条目数量相同的数量......但没有单词.. – Tuzki