2014-07-23 6 views
-2

Я пытаюсь получить несколько элементов из моей базы данных MySQL я нет проблем ЗДЕСЬPHP Msql подсчитывать увеличивает

"SELECT * FROM phpbb_phpb809posts WHERE forum_id = 2 ORDER BY post_time DESC LIMIT 4";

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

Что я пытаюсь сделать, это отобразить число, скажем, 1 и увеличить его на 1 для каждого из них так:

главы1 (вытащил из БД)

Content1 (вытащил из БД)

Дата (извлекается из БД)

сообщение число "1" (генерируется сервером)

<hr/> 

title2 (извлекается из БД)

Content2 (извлекается из БД)

Дата (извлекается из БД)

сообщение номер "2" (генерируется самим сервером)

<hr/> 

title3 (вытащил из БД)

и так далее ... я не очень хорошо разбираюсь в php, но я искал, и я не могу найти то, что ищу, возможно, будет невозможно. b ут это, кажется, как-то, что должно быть

+2

Можете ли вы опубликовать свое давнее старание? – Rikesh

+1

Очень просто. Запустите переменную, чтобы сохранить количество итераций вашего цикла, начиная с 1 и увеличивая каждый раз. Отображение этого даст вам то, что вы ищете. –

+0

кажется простым, но я понятия не имею, как это сделать, не могли бы вы помочь мне начать? –

ответ

0

некоторые PHP-псевдо (так как я не знаю, если вы используете PDO или MySQLi) ответ должен быть

executeTheQuery("SELECT * FROM phpbb_phpb809posts WHERE forum_id = 1 ORDER BY post_time DESC LIMIT 4"); 
    $result = getTheSelectedItems($query); 
    $i = 0; 

    while($tables = $result->fetch_array()) 
    { 
     $currentRow = getCurrRow($tables); 
     echo "$currentRow mynumber = $i"; 
     $i++; 
    } 
+0

во-первых, я неправильно понял вопрос, обновленный – epipav

+0

Прошу прощения, просто говорит mynumber = 0 для каждого –

+0

, то вы сделали что-то не так, что вы используете pdo или mysqli? – epipav

0

Что вы можете сделать, это:

"SELECT (@cnt := @cnt + 1) AS postnumber, * FROM phpbb_phpb809posts 
CROSS JOIN (SELECT @cnt := 0) AS dummy 
WHERE forum_id = 2 ORDER BY post_time DESC LIMIT 4"; 
Смежные вопросы