私は "foreach loop"と "while loop"を組み合わせるのにしばらく取り組んできました。私はforeachを30回走らせたいと思う。これは$カウンタで示されます。今問題は私の "while"が毎回 "foreach"を再び開始するということです。しかし、それは30回聞き、毎回 "while"を回します。PHPでforeachで結合するとき
私はしばらくの一部を離れて取得し、静的コードを使用している場合は、それが完全に動作します。しかし、私は情報のために私のDBをリンクする必要があります。おそらくオプションは "foreach"を "for"または全く異なるオプションにすることです。しかし、私は彼を設定する方法は分かりません。
$ counter =月の日数
$ index = foreach time for running。 1人
の$ cut_startdayと一緒に$インデックスの最大$カウンタ
$ NUM =一意の番号が一緒に箱が赤や緑のようになったことを知らせます。アイデアは、コードでは何
foreach(range(1,$counter) as $index) {/*open foreach*/
$get_data = "
SELECT *
FROM core";
$result1 = $conn->query($get_data) or die($conn ->error);
//Start query 1
if($result1) {
while($row = $result1->fetch_assoc()) {
// Get NUM, START DATE and END DATE
$NUM = ($row['c_m_num']);
$startdate = ($row['e_date_s']);
$enddate = ($row['e_date_e']);
// Cut strings for date
$sort_year = substr($startdate, 6, 4); // START YEAR -> 2017
$sort_month = substr($startdate, 0, 2); // START MONTH -> 09
$cut_startday = substr($startdate, 3, 2); // START DAY -> 17
$cut_endday = substr($enddate, 3, 2); // END DAY -> 19
if($load_m_NUM == "$NUM" and $index >= $cut_startday && $index <= $cut_endday){
echo"<td style='background-color:red;'>x</td>";
}
else{
echo"<td style='background-color:green;'></td>";
}
}
}
/*end foreach*/ }
:
はここでどれも働いてforeachのためのコードです。一番上の行に月が表示され、左側に人が表示されます。コアが日と1人の男性の間でマッチを見つけた場合、緑色でない場合はtd赤色を着色します。
大変助かりました!
あなたは毎回foreachを開始していますか?検証するforeachループの先頭にある '$ index'をエコーアウトしてみてください。 – aynber
しかし、その目的は何ですか?あなたはあなたの 'core'テーブルからすべてを30回エコーアウトします。 – aynber
コードのポーズが私の質問になりました。うまくいけばあなたは私を助けることができる。 –