动态选择使用sql数据的列表

时间:2012-04-20 00:01:39

标签: php list select dynamic option

我正在尝试使用php创建一个选择下拉列表。每次我尝试,我都会收到错误。 这是我的代码:

功能:

function dropDown(){


$options="<select>"; 
$connect = mysql_connect('localhost','id','pass') or die ("couldn't   connect!").mysql_error; 

mysql_select_db('db') or die('could not connect to database!');


$sql="SELECT * FROM DESC"; 
$result=mysql_query($sql); 


while ($row=mysql_fetch_array($result)) {  ****this is line 60

$name=$row["name"]; 

$options.="<option value=\"$name\">".$name."</option>"; 
} 

$options.= "</SELECT>";
return "$options";
}

然后我只是在我的代码中调用它

<?php  
 include ('includes/functions.php');
....



$list = dropDown();
echo "$list";


....
>

我得到的错误是:

警告:mysql_fetch_array():提供的参数不是第60行/home/garagenj/public_html/dispatch/includes/functions.php中的有效MySQL结果资源

4 个答案:

答案 0 :(得分:0)

您的桌子使用的是保留字(desc),或者您的查询全部被抬起。试试这个:

select * from table order by col desc

请务必将tablecol替换为您的表名和列名。

答案 1 :(得分:0)

SELECT * FROM DESC ??????

  • 从什么表
  • 或者,如果表名是DESC。用滴答声逃脱它们

每次调用该函数时,您都没有启动新连接。将您的连接部分放在其他地方

$connect = mysql_connect('localhost','id','pass') or die ("couldn't   connect!").mysql_error; 
mysql_select_db('db') or die('could not connect to database!');

function dropDown(){
    $options="<select>"; 
    $sql="SELECT * FROM `DESC`"; 
    $result=mysql_query($sql); 

    while ($row=mysql_fetch_array($result)) { 

        $name=$row["name"]; 

        $options.="<option value=\"$name\">".$name."</option>"; 
    } 

    $options.= "</SELECT>";
    return $options;

}

答案 2 :(得分:0)

这是错误的:

$sql="SELECT * FROM DESC"; 

您忘记添加表名以从

中选择

答案 3 :(得分:0)

如果您的表名 DESC,那么这就是您的问题。这完全取决于命名空间。您甚至无法使用名为desc的字段,我已经尝试过了。它每次都出错