如何嵌套循环,内层循环去查询数据库

如何嵌套循环,内层循环去查询数据库,第1张

完全可以的,你不想用while循环也完全可以做到。

我给你大致说一下思路:

打开数据库获得记录集,之后按要求定义二维数组

假定数组为:MM_Array(X,Y)

那么,X指定字段,Y指定记录。

用两个For循环嵌套,就可以把Y条记录(每条记录取前X字段)的值存到数组中了。

……PS:为什么While循环不是很好?用好了哪个都一样。

用while循环例如:

$res = mysql_query("select id,name,description,price,pic_url1 from ebf_products");

while($pp = mysql_fetch_array($res,MYSQL_ASSOC) or false){

$list[] = $pp;

}

rsRankGetRows是取数组没错,但不是普通的一维数组,是二维数组

取值方式:MyArray(列,行)

示例:

for i=1 to UBound(MyArray)

responsewrite MyArray(0,i)' 第一个字段,第i条数据,以此类推

next

jobInfo 仅仅只做了个new;

后期也没有赋值。。有可能你的jobInfoJobID此时是个null;

执行ConvertToString(null)肯定会出错的。

建议:

1初始化jobInfo属性或者为其赋值

2ConvertToString(jobInfoJobID);可以修改为ConvertToString(jobInfoJobID==null""jobInfoJobID);

foreach循环用于列举出集合中所有的元素,foreach语句中的表达式由关键字in隔开的两个项组成。in右边的项是集合名,in左边的项是变量名,用来存放该集合中的每个元素。 该循环的运行过程如下:每一次循环时,从集合中取出一个新的元素值。放到只读变量中去,如果括号中的整个表达式返回值为true,foreach块中的语句就能够执行。一旦集合中的元素都已经被访问到,整个表达式的值为false,控制流程就转入到foreach块后面 的执行语句。

如果是纯遍历的话,他们俩没什么两样,速度都差不多。

我觉得你应该仔细考虑一下你的需求,为什么用遍历这种方式呢,耗费的时间不可预料,随着数据的增大,会变得很糟糕。建议你寻找其他方式,比如增加sql查询条件,限制返回的数据数量。

在循环里面去 *** 作数据库肯定会慢的,而且还容易碰到新手,在循环里面创建数据库连接,会导致连接数满。一般查询的话,在外层一次性查询出来 然后 在逻辑层去循环组织数据。如果是新增,则可以考虑使用批量插入的方法去处理。

以上就是关于如何嵌套循环,内层循环去查询数据库全部的内容,包括:如何嵌套循环,内层循环去查询数据库、PHP怎么用foreach循环数据库里的数据、asp 获取数据库符合条件的数据并用数组装载,且做for循环使用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9364990.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存