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>
结果如图: 展开
我把代码贴出来求个位大神帮忙啊
<?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>
结果如图: 展开
5个回答
展开全部
$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>
展开全部
$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>
试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
foreach循环嵌套错了,应该把foreach嵌套包住整个<select>,而不是仅仅包住<option>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-09-25
展开全部
直接吧$sql_res输出看下,应该是查询结果有问题
追问
打印的结果是这个:Resource id #6
这是什么意思啊,为什么我获取不到数据?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-09-25
展开全部
print_r($sql_res); 看看输出是啥!
更多追问追答
追问
Resource id #6
这是什么意思
追答
有可能你写的这段代码有错误,要不你执行下sql语句 看看是否正常
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询