php и mysql пока петли - PullRequest
       2

php и mysql пока петли

0 голосов
/ 04 октября 2011

Я новичок в PHP и думаю, что это простой вопрос.

Я могу показать содержимое моей базы данных следующим образом:

...
...
 <?php while($rows = mysql_fetch_array($queryNews)){    ?>
  <div class='title_news'><?php echo $row['Title'] ?> </div>
.... and so on... 

Пока все в порядке

Тогда я хочу смоделировать вид нумерации страниц: я имею в виду показывать столько же цифр, сколько новостей. Я сначала попробовал цикл for

<?php for($i=1; $i<= sizeof(mysql_fetch_array($queryNews)); $i++){ ?>
    <div class="num_txt"><?php echo $i ?></div>
<?php } ?>

Нет успеха. поэтому я попробовал способ, аналогичный первому, но безуспешно.

    <?php 
        $i=1;
        while($row = mysql_fetch_array($queryNews)){    ?>
        echo '<script language="javascript">confirm('.$i.')</script>;';
            <div class="num_txt"><?php echo $i ?></div>
   <?php $i++; } ?>

Кто-нибудь знает, что я делаю не так? Спасибо

Ответы [ 3 ]

2 голосов
/ 04 октября 2011

Используйте mysql_num_rows, чтобы вычислить общее количество строк, или создайте переменную, которая увеличивается при циклическом просмотре записей, чтобы получить общее количество.

1 голос
/ 04 октября 2011

Чтобы сгенерировать массив чисел, попробуйте это:

$r = range(mysql_num_rows(YOUR_RESULT_SET));

foreach($r as $n){
echo $n;
}

Это не нумерация страниц, как большинство ее определяет, но вы можете легко найти пагинацию PHP, если хотите научиться получать группы, скажем, по 10 результатов за раз, используя предложение LIMIT в Mysql.

1 голос
/ 04 октября 2011

Ваш цикл for был почти верным, но sizeof(mysql_fetch_array($queryNews)) выбирает строку из набора результатов и возвращает количество столбцов в этой строке.Требуется количество строк в наборе результатов:

<?php for($i=1, $numRows = mysql_num_rows($queryNews); $i<= $numRows; $i++){ ?>
    <div class="num_txt"><?php echo $i ?></div>
<?php } ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...