php 数组 循环嵌套
大致情况是这样的我想做一个商品类别目录,数据库中有2张表一级大类和二级大类,代码如下<?phprequire_once("conn.php");$sql="SELECT*...
大致情况是这样的
我想做一个商品类别目录,数据库中有2张表一级大类和二级大类,代码如下
<?php
require_once("conn.php");
$sql="SELECT * FROM big_class";
$query=mysql_query($sql);
$sqls="SELECT * FROM small_class";
$queryq=mysql_query($sqls);
while($row=mysql_fetch_array($query)){
echo $row['class_name']."<br>";
while($rowr=mysql_fetch_array($queryq)){
echo $rowr['sclass_name'];
}
}
?>
得到的结果如下
电脑硬件/台式整机/网络设备
CPU主板内存硬盘显卡显示器鼠标键盘U盘摄像头台式DIY电脑周边路由器移动硬盘服务器数码相机摄像机数码单反镜头冲印LOMO闪关灯三脚架手柄/电池盒配件各种包读卡器各种电池笔记本周边数码相框蓝牙耳机手机电池充电器电子词典打印机扫描仪多功能一体机投影机纸张本册收款机墨盒/墨水网线刻录盘行业软件炒股应用软件电子邮局教育教学软件系统软件虚拟主机域名服务软件源代码网络软件杀毒软件数码相机/摄像机/图像冲印
数码配件/电子元件市场
办公设备/文具/耗材
网络服务/电脑软件
内容是全输出了,但没有嵌套效果,另外 我尝试用if语句
为什么 打印$row的值 只能打印第一项。 展开
我想做一个商品类别目录,数据库中有2张表一级大类和二级大类,代码如下
<?php
require_once("conn.php");
$sql="SELECT * FROM big_class";
$query=mysql_query($sql);
$sqls="SELECT * FROM small_class";
$queryq=mysql_query($sqls);
while($row=mysql_fetch_array($query)){
echo $row['class_name']."<br>";
while($rowr=mysql_fetch_array($queryq)){
echo $rowr['sclass_name'];
}
}
?>
得到的结果如下
电脑硬件/台式整机/网络设备
CPU主板内存硬盘显卡显示器鼠标键盘U盘摄像头台式DIY电脑周边路由器移动硬盘服务器数码相机摄像机数码单反镜头冲印LOMO闪关灯三脚架手柄/电池盒配件各种包读卡器各种电池笔记本周边数码相框蓝牙耳机手机电池充电器电子词典打印机扫描仪多功能一体机投影机纸张本册收款机墨盒/墨水网线刻录盘行业软件炒股应用软件电子邮局教育教学软件系统软件虚拟主机域名服务软件源代码网络软件杀毒软件数码相机/摄像机/图像冲印
数码配件/电子元件市场
办公设备/文具/耗材
网络服务/电脑软件
内容是全输出了,但没有嵌套效果,另外 我尝试用if语句
为什么 打印$row的值 只能打印第一项。 展开
展开全部
问题的关键在这个函数的使用上 mysql_fetch_array,循环完一遍以后数据指针已经指到最后一条数据了,第二次循环的时候就取不到数据了,每次循环结束要把数据指针重新指回首条数据。具体如下:
<?php
require_once("conn.php");
$sql="SELECT * FROM big_class";
$query=mysql_query($sql);
$sqls="SELECT * FROM small_class";
$queryq=mysql_query($sqls);
while($row=mysql_fetch_array($query)){
echo $row['class_name']."<br>";
while($rowr=mysql_fetch_array($queryq)){
echo $rowr['sclass_name'];
}
mysql_data_seek($queryq,0)//就是这里了 呵呵
}
?>
<?php
require_once("conn.php");
$sql="SELECT * FROM big_class";
$query=mysql_query($sql);
$sqls="SELECT * FROM small_class";
$queryq=mysql_query($sqls);
while($row=mysql_fetch_array($query)){
echo $row['class_name']."<br>";
while($rowr=mysql_fetch_array($queryq)){
echo $rowr['sclass_name'];
}
mysql_data_seek($queryq,0)//就是这里了 呵呵
}
?>
展开全部
你的while()循环,当第一个while循环执行第一次的时候就到了第二个while循环,并且会把第二个while循环全部执行完后,才会执行第一个while循环的第二次,明白了没?
$i=0;
$a=0;
while($i<8){
echo $i;
$i++;
while($a<8){
echo "d_";
$a++;
}
}把这段代码执行了看看效果你应该明白了
$i=0;
$a=0;
while($i<8){
echo $i;
$i++;
while($a<8){
echo "d_";
$a++;
}
}把这段代码执行了看看效果你应该明白了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该在循环中用判断就可以限制全部循环出来的问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询