0

私の問題を 1 つの例で説明します。

  1. メールIDのセットがあります(データベースから取得すると動的になります)。100 個の電子メール ID があるとします。

  2. それらを 10 のカウントでグループ化する必要があります。つまり、100 の電子メール ID を 10 で割った => したがって、10 回のループが発生します。

  3. 出力は次のようになります

Group1: ---最初の 10 個の電子メール ID---

Group2: ---次の 10 個の電子メール ID--- . . . . ..

Group3: ---最後の 10 個の電子メール ID---

これが私の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>";
    }
    }
    ?>

編集: 上記のコードは正常に動作し、編集しました。すべての助けをありがとう:)

4

5 に答える 5

1

私が正しく理解していれば、次のコードが機能します...

$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;
 }

}

于 2013-05-14T06:07:43.447 に答える
1

それらを別々のチャンクに印刷できるのに、なぜそれらをグループに分割したいのかわかりません。しかし、このphpスリープメソッドを使用してあなたの目標を正しく理解していれば、10秒待ってから10個のIDを出力し、完全なリストがなくなるまで次の10個のIDなどを出力できるはずです。

   $temp = 0;
   for($i=1;$i<=$no_of_emails;$i++){
     echo "stuff";
     temp++;
     if(temp == 10){
       sleep(10);  
       temp = 0;
     }
   }
于 2013-05-14T05:58:45.893 に答える
0

このコードを試すことができます:

$con=mysql_connect("localhost","root","admin");
mysql_select_db("test1",$con);
$sel=mysql_query("SELECT DISTINCT emailaddress FROM userlist");
$mailsGroups = array();
$i = 0;
$j = -1;
$mailsPerGroup = 10;

while($row=mysql_fetch_array($sel))
{
    if ($i % $mailsPerGroup == 0) {
        $j++;
        $mailsGroups[$j] = array();
    }
    $mailsGroups[$j][]=$row['emailaddress'];
    $i++;
}
于 2013-05-14T07:25:56.173 に答える