Я тестировал подключение петли вложенный Хотя заявления так:PHP Вложенного Хотя цикл не работает с mysql_fetch_assoc
$count1 = 0;
while ($count1 < 3) {
$count1++;
$count2 = 0;
echo "count1: ".$count1."<br />";
while ($count2 < 3) {
$count2++;
echo "count2: ".$count2."<br />";
}
}
Это отлично работает (зацикливание три раза каждые) с результатами:
count1: 1
count2: 1
count2: 2
count2: 3
count1: 2
count2: 1
count2: 2
count2: 3
count1: 3
count2: 1
count2: 2
count2: 3
Тогда я попробовал то же самое с циклом с использованием mysql_fetch_assoc ($ ContactsInterests - это двухрядный ассоциативный массив, а $ LatestNews - 50 строк), то есть
$CI_count = 0;
while ($CI_Row = mysql_fetch_assoc($ContactsInterests)) { //loop thru interests
$CI_count++;
$LN_count = 0;
echo "CI_count: ".$CI_count."<br />";
while ($LN_Row = mysql_fetch_assoc($LatestNews)) { //loop thru news
$LN_count++;
echo "LN_count: ".$LN_count."<br />";
}
}
Результаты:
CI_count: 1
LN_count: 1
LN_count: 2
...
LN_count: 50
LN_count: 51
CI_count: 2
Но где его вторая итерация LN_count? Я не понимаю, почему LN_count не увеличивал второй раз.
Помогите оценить.
mysql_data_seek ($ результат, 0) – goat
в верхней добавить $ LN_Row = массив(); Затем, в конце первого цикла while добавьте сброс ($ LN_Row); – arijeet
@ redskins80 '$ LN_Row' содержит только последнее значение, переданное' mysql_fetch_assoc' ... поэтому он не будет заполнять '$ LN_Row', если вы не сделаете что-то вроде этого' $ LN_Row [] = mysql_fetch_assoc' –