2014-05-04 4 views
-3

Идея:Браузер падает из-за PHP

Я хочу сделать макет печати, мое решение - абсолютным div. Чтобы заполнить его, я использую php. На каждой странице находится таблица. На одной странице достаточно места для 10 строк.

Таким образом, я делаю следующий код, чтобы предотвратить более 10 строк на странице, остальное игнорируется (им решает это позже сообщением).

вот код:

<table>  
<?php $i=1; 
while($info5=mysqli_fetch_array($data5)): ?>  
<?php while($i <'10'):?>  
<tr>  
<td width="50px"><?php echo $i; ?></td>  
<td> foo </td>  
<td> bar </td>  
</tr>  
<?php endwhile; ?>  
<?php $i++; endwhile; ?> 

К сожалению, этот код вызывает FireFox, хром и ИЭ сломать. Сайт начинает загрузку, а затем зависает, заканчивая «отправкой отчета о сбоях».

Почему?

+0

код должен сделать что-то в то время как '$ i' меньше, чем 10, потому что только 10 строк помещается на странице ... – HKK

+1

Почему бы не исправить запрос только захватить 10 строк? –

+0

Тогда мне нужно запускать бесконечные запросы? его создать упаковочные листы, это может быть 1 позиция до 10 000 позиций, я хочу напечатать 10 строк на первой странице и на всех последующих страницах 35 строк, если только $ i меньше, чем количество строк mysqli, новая страница получает вставил все 35 строк .. – HKK

ответ

4
$i++; 

Должен быть внутри внутреннее время, в противном случае $i всегда остается 1 и порождает бесконечный цикл, и это то, что заставляет ваши страницы к краху.

Как это

<?php $i++;?> 
<?php endwhile; ?>  
<?php endwhile; ?> 
+0

yes , но после первого времени, следующий будет следовать, для следующей страницы, где 30 строк подходят ... что тогда? – HKK

+0

может $ i ++; использовать несколько раз? – HKK

+0

Затем перезагрузите '$ i' в начале каждой новой итерации внешнего цикла, просто :) –

Смежные вопросы