2011-03-16 64 views
2

所以正如标题所说.....填充下拉与MySQL查询结果(PHP/MySQL的)

这里是我写目前认为它会工作的代码,它不:(

注意我会话用户标识等正在工作,因为我可以让它在表单中的另一个字段打印出来,所以这不是问题,但我的收件箱似乎没有任何内容(我创建了数据库中的数据与user_id匹配我登录了)

$userid = $_SESSION['myuserid']; 
//run query to database 
$query = "SELECT * FROM test_groups_tb WHERE user_id='$userid'"; 
mysql_query($query) or die(mysql_error()); 

while($row = mysql_fetch_assoc($query)) 
    { 
    $dd .= "<option value='{$row['group_id']}'>{$row['group_name']}</option>"; 
    } 

然后在html中使用:

<select name="t_group"><? echo $dd; ?></select> 

有人可以帮我吗?

谢谢

+0

执行后HTML看起来像什么?你确定查询产生正确的结果与你的期望? – Romain 2011-03-16 15:09:16

+0

你得到的输出是什么,有什么错误?你如何获得'$ query'? – anothershrubery 2011-03-16 15:10:03

+0

编辑后,所以你应该能够正确查看代码现在?道歉,网站是新的。 – buymypies 2011-03-16 15:10:17

回答

3

$query是一个字符串,因此你不能从它得到任何结果。你应该这样做:

$query = "SELECT * FROM test_groups_tb WHERE user_id='$userid'"; 
$result = mysql_query($query) or die(mysql_error()); 

while($row = mysql_fetch_assoc($result)) 
{ 
    $dd .= "<option value='{$row['group_id']}'>{$row['group_name']}</option>"; 
} 
2

它不工作,因为$查询是一个字符串。您应该将mysql_query的结果分配给$ query变量。

如果您有错误报告,您会看到类似mysql_fetch_assoc expects parameter 1 to be resource, string given的错误。

0

就个人而言,我总是辍学字符串的时候我加入变量..我知道你没有做到这一点取决于你如何设置,但我的行会:

$dd .= "<option value='".$row['group_id']."'>".$row['group_name']."</option>";

在尝试添加它之前,如果您关心这样的事情,我也会通过设置$ dd =“”来摆脱不可避免的通知。 (echo $ query - expect'resource id #nn')并且它正在生成任何行[echo mysql_num_rows($ query); ]