我将用一个例子来解释我的问题。
Group1:--前十封电子邮件ids
Group2:-接下来的十个电子邮件ids。。。。。
Group3:--最后十封电子邮件ids
以下是我的php代码(我已经修改/更正了我的代码)
<?php
$con=mysql_connect("localhost","root","admin");
mysql_select_db("test1",$con);
$sel=mysql_query("SELECT DISTINCT emailaddress FROM userlist");
while($row=mysql_fetch_array($sel))
{
$mail[]=$row['emailaddress'];
}
$chunk = array_chunk($mail, 10);
$get_chunk_count = count($chunk);
for($i=0;$i<$get_chunk_count;$i++){
echo "Group :".$i;
echo "<br>";
echo "========";
echo "<br>";
$count_inside_count = count($chunk[$i]);
for($j=0;$j<=$count_inside_count;$j++){
echo "<pre>";
echo $chunk[$i][$j];
echo "</pre>";
}
}
?>编辑:以上代码工作正常,我已经编辑过了。(谢谢你的帮助:)
发布于 2013-05-14 06:00:31
您可以使用PHP的array_chunk()函数将数组分解为较小的块。
没有测试,但我认为应该很接近。
$chunk = array_chunk($mail, 10);
$i = 0;
do
{
echo $chunk[$i] . '<br />';
$i++;
if($i == 10)
sleep(10);
} while ($i < count($chunk)); 发布于 2013-05-14 05:58:45
当您只需将它们打印成不同的块时,我不知道为什么要将它们分成组;但是,如果我通过使用这个php睡眠方法正确地理解了您的目标,那么您应该能够打印10个IDs,等待10秒,然后打印下一个10个Ids等等,直到您的完整列表用完为止。
$temp = 0;
for($i=1;$i<=$no_of_emails;$i++){
echo "stuff";
temp++;
if(temp == 10){
sleep(10);
temp = 0;
}
}发布于 2013-05-14 06:07:43
如果我的理解是正确的--下面的代码将适用于你.
$con=mysql_connect("localhost","root","admin");
mysql_select_db("test1",$con);
$sel=mysql_query("SELECT DISTINCT emailaddress FROM userlist");
$email=mysql_fetch_array($sel);
$num_rows=mysql_num_rows($sel);
$counter = 0;
for($i=1;$i<=$num_rows;$i++){
echo $email[$i];
$counter++;
if($counter== 10){
sleep(10);
$counter= 0;
}}
https://stackoverflow.com/questions/16535982
复制相似问题