关于分批读取mysql数据存储到数组的问题
关于分批读取mysql数据存储到数组的问题
想把每次读取的记录都存储到数组里,大家都怎么实现的?我的代码始终实现不了,每次都是把最后一次从数据库中读出来的数据存到数组,前面的全被清空.有空的朋友帮帮忙提供下思路,想不明白了,先行谢谢了!~~~
$returnarray=array(); $str=''; $k_group=2;//做2组实验 $k_num=1 ; //每一组实验随机取一条记录 $rr=array(); while($k_group) { if ($k_num>0){//循环取出100条记录传入数组$returnarray,然后将最大,最小和中间值传出做为标本 //sql为了产生一条随机数据,有点笨,先这样用吧. $sqlstr=" SELECT * FROM hmk AS t1 JOIN (SELECT ROUND(rand() * ((SELECT MAX(hmkid) FROM hmk)-(SELECT min(hmkid) FROM hmk))+(SELECT MIN(hmkid) FROM hmk)) AS id) AS t2 WHERE t1.hmkid >= t2.id ORDER BY t1.hmkid LIMIT 1 "; $result=$db->query($sqlstr) ; //if($result) echo '入库成功1312312!';else echo 'sorry! try again please!'; while($row=mysqli_fetch_array($result,MYSQLI_ASSOC)) { $returnarray[]= $row; //[color=#FF0000]这里的$returnarray在下一组实验时就会被清空,怎么把数据保存下来?[/color] } $k_num--; $m=$returnarray; //下面这段代码是从上面返回的数据中 取前1-6个字段,并把出现次数写入RR数组,朋友们可以先不管他 foreach ($m as $key=>$value) { $i=0; foreach ($value as $k) { if($i<7 and $i>0) { if(array_key_exists($k,$rr)){ $rr[$k]++; //echo '$k='.$k ; } else { $rr[$k]=1; } } $i++; } } } $k_group--; } print_r($returnarray); ; print_r($m);//creat_array2table($m) ;