php 将数据库的一列赋值到下拉框

为什么我写的只能显示一条数据啊。我把代码贴出来求个位大神帮忙啊<?php//根据责任人搜索$sqlbelongs="selectDISTINCTc.belongsfrom... 为什么我写的只能显示一条数据啊。
我把代码贴出来求个位大神帮忙啊
<?php
//根据责任人搜索

$sqlbelongs = "select DISTINCT c.belongs
from myr_order a,myr_order_goods b,myr_goods c,myr_depot_stock d
where a.order_id= b.order_id
and b.goods_sn= c.goods_sn
and c.goods_id= d.goods_id
and a.order_status in ('112','113','114','129','134')
and a.shippingservice!='AFN'
group by b.goods_sn";
$sql_res=mysql_fetch_array(mysql_query($sqlbelongs));
?>
<select name=sel onchange="my(this.options[this.options.selectedIndex].value)">
<?php foreach ($sql_res as $value) { ?>
<option value="<?php echo $value;?>"><?php echo $value;?></option>
<?php };?>
</select>
结果如图:
展开
 我来答
zzs1949
推荐于2017-12-15 · TA获得超过1600个赞
知道小有建树答主
回答量:1250
采纳率:80%
帮助的人:1070万
展开全部

$sql_res=mysql_fetch_array(mysql_query($sqlbelongs));

这里只能获取一行数据

如果你需要获取全部数据,需要用while循环才能做到

$result = mysql_query($sql);
while($list = mysql_fetch_array($result,MYSQL_ASSOC)){
    $return[]=$list;
}

$return就是所有的值了

更多追问追答
追问


那我下面foreach里面是怎么写的.?
赋值的时候还需要写下标的嘛?
我是根本不会php的今儿给我个任务叫我弄
麻烦把代码写一下我看一下 我现在连写法都还不熟悉
追答
<?php
 //根据责任人搜索 

$sqlbelongs = "select DISTINCT c.belongs
from myr_order a,myr_order_goods b,myr_goods c,myr_depot_stock d
where a.order_id= b.order_id
and b.goods_sn= c.goods_sn
and c.goods_id= d.goods_id
and a.order_status in ('112','113','114','129','134')
and a.shippingservice!='AFN'
group by b.goods_sn";
$result = mysql_query($sqlbelongs);
while($list = mysql_fetch_array($result,MYSQL_ASSOC)){
    $sql_res[]=$list;
}
//这里,你先把$sql_res这个数组print出来,我看是什么
print_r($sql_res);

?>
<select name=sel onchange="my(this.options[this.options.selectedIndex].value)">
      <?php foreach ($sql_res as $value) { ?>
<option value="<?php echo $value;?>"><?php echo $value;?></option>
 <?php };?>
</select>
帐号已注销
2014-09-26 · TA获得超过268个赞
知道小有建树答主
回答量:437
采纳率:0%
帮助的人:259万
展开全部
$result = mysql_query($sql);
while(false != ($list = mysql_fetch_array($result,MYSQL_ASSOC))){
    $sql_res[]=$list;
}
?>

<select name=sel onchange="my(this.options[this.options.selectedIndex].value)">
      <?php foreach ($sql_res as $value) { ?>
<option value="<?php echo $value;?>"><?php echo $value;?></option>
 <?php };?>
</select>

试试

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
回来看看在路上
2014-09-27 · 超过10用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:24.3万
展开全部
foreach循环嵌套错了,应该把foreach嵌套包住整个<select>,而不是仅仅包住<option>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-09-25
展开全部
直接吧$sql_res输出看下,应该是查询结果有问题
追问
打印的结果是这个:Resource id #6

这是什么意思啊,为什么我获取不到数据?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-09-25
展开全部
print_r($sql_res); 看看输出是啥!
更多追问追答
追问
Resource id #6

这是什么意思
追答
有可能你写的这段代码有错误,要不你执行下sql语句 看看是否正常
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式