2015-11-22 2 views
-1

Я новичок в PHP и пытаюсь создать числа, подобные этому, в цикле, который уже используется для извлечения данных из таблицы базы данных.PHP while loop не работает

$i= 1; 
while($row = $result1->fetch_assoc()) { 
/////////////////other codes 
<img src="$i.jpg"> 
$i++;} 

Я хочу остановить цикл, пока в таблице появятся строки.
Ошибка:
Она производит два, три изображения в соответствии с количеством строк, но все изображения были источником 1.jpg

+4

Код, указанный вами, не содержит описанную вами ошибку. Возможно, включение большего количества кода может позволить кому-то идентифицировать проблему. – Tristan

ответ

1

К сожалению, это не ответ на ваш вопрос, но это возможно только ответ на данный момент :

Это работает для меня:

<?php 

$rows = [ 
    'item', 
    'item', 
    'item', 
    'item' 
]; 

function fetch() { 
    global $rows; 

    return count($rows) > 0 ? array_splice($rows,0,1)[0] : null; 
    //Should match return behavior of fetch assoc according to: http://php.net/manual/en/mysqli-result.fetch-assoc.php 
} 

/**///Remove a star to toggle methods 

$i = 1; 
while($row = fetch()) { 
    echo "$i<br>"; 
    $i++; 
} 

/*/ 

//Alternative method: 

for ($i = 1; $row = fetch(); $i++) 
    echo "Alt: $i<br>"; 

//*/ 

Это выводит:

1 
2 
3 
4 

Таким образом, проблема заключается не в коде, который вы поделили.

+0

не может поместить переменную в цикл while и вы описали в альтернативном методе (последний)? –

+0

@JahanzaibAsgher Это не цикл while, это цикл for. Этот код выполняется отлично, я его протестировал. – csga5000

+0

спасибо, что это работает! –