喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

[北京]代朋友公司招聘PHP高级程序员多名

上一主题 下一主题
     
标题: [问题] 急急急!array 问题  
 
helen2008
新手上路
Rank: 1



UID 118813
精华 0
积分 9
帖子 5
金钱 9 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2008-4-15
状态 离线
急急急!array 问题

高手帮看一下:
array 问题
当我用以下语句显示数组内容:

$rs=mysql_query("SELECT p.colorid FROM productinfo p where productid={$StyleNo};");
$array=mysql_fetch_row($rs);
$rowno=mysql_num_rows($rs);
for($i=0; $i<$rowno; $i++){

echo $i;
echo $array[$i];
echo'<br>';
}

结果显示, 数组内容如下: 仅仅显示第一个,余下的为空
003
1
2
3
4
5


我要检查 14 是不是在数组中,
14 在, 但每次检查仅检查第一个

语句:
$rs=mysql_query("SELECT p.colorid FROM productinfo p where productid={$StyleNo};");
$array=mysql_fetch_row($rs);
if (!in_array($Colour, $array)) {
    echo "this item don't have this color: ".$Colour."<br>";
mysql_data_seek($rs,0);
echo'this item have color: '.mysql_num_rows($rs).'<br>';
while ($row = mysql_fetch_array($rs, MYSQL_NUM)) {
       printf ("colour: %s", $row[0]);
          
   }
}


结果显示如下:14 在, 但每次检查仅检查第一个,但不检查。
this item don't have this color: 14
this item have color: 6

colour: 03colour: 04colour: 10colour: 14colour: 17colour: 24
2008-4-15 05:43 AM#1
查看资料  发短消息  顶部
 
coolhpy
注册会员
Rank: 2



UID 70642
精华 0
积分 141
帖子 128
金钱 141 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-3-29
来自 浙江
状态 离线
[推荐阅读] {请教}如何在mysql中自动实现每三条记录一个编号?
print_r($array);  你就知道为什么了

明明就读取了一行的数据




http://www.hpyer.cn
2008-4-15 11:26 AM#2
查看资料  访问主页  Blog  发短消息  顶部
 
helen2008
新手上路
Rank: 1



UID 118813
精华 0
积分 9
帖子 5
金钱 9 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2008-4-15
状态 离线
[推荐阅读] 数据中包含引号引起javascript错误,请问怎么解决?
这正是问题所在, 为何用:
1)
while ($row = mysql_fetch_array($rs, MYSQL_NUM)) {
       printf ("colour: %s", $row[0]);
}
能读取所有数据
result is:
colour: 03colour: 04colour: 10colour: 14colour: 17colour: 24  
total is 6个数
2)
mysql_data_seek($rs,0);
while ($array= mysql_fetch_array($rs)) {
printf ($array[0],$array[1],$array[2],$array[3],$array[4],$array[5]);
}
也读到6个数: 030410141724
3)
为何
$array=mysql_fetch_row($rs);
$rowno=mysql_num_rows($rs);
for($i=0; $i<$rowno; $i++){

echo $i;
echo $array[$i];
echo'<br>';
}

有6次循环,因为有六个数,在数组中。
可是仅看到第一个数,看不到其他数。
错在那里? 请高手指点, 我是新学的, 请多多指教,先谢了!!!
2008-4-16 12:50 PM#3
查看资料  发短消息  顶部
 
coolhpy
注册会员
Rank: 2



UID 70642
精华 0
积分 141
帖子 128
金钱 141 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-3-29
来自 浙江
状态 离线
[推荐阅读] 怎么修改chyrp里面的 article title 顺序
真是被你打败了~~你就不能查下手册?里面很明白的写着 “mysql_fetch_array() 是 mysql_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。”
它的用法和 mysql_fetch_array() 是一样的,也是要通过循环来读取所有的行~~

PS,因为我平常都是在用 mysql_fetch_array(),没怎么用过 mysql_fetch_row(),所以还特意查了下手册才回答的~~自己学着多查查手册吧~




http://www.hpyer.cn
2008-4-16 05:41 PM#4
查看资料  访问主页  Blog  发短消息  顶部
 
helen2008
新手上路
Rank: 1



UID 118813
精华 0
积分 9
帖子 5
金钱 9 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2008-4-15
状态 离线
[推荐阅读] 10G PHP空间只需200元,可开设5个独立网站
多谢coolhpy, 我总算是明白一点了,mysql_fetch_array() 一次取一个数,要通过循环来读所有数。多谢多谢!!!!
2008-4-17 01:15 PM#5
查看资料  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.023983 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP