Есть шаблон куда будет выводится информация. Ну и файл в который будем подключать шаблон. Стараюсь соблюдать MVC =)
Код модуля:
/**
* @author koala
* @copyright 2010
* Модуль вывода сообщений
*/
error_reporting (E_ALL);
$result = mysql_query ("SELECT * FROM `test_messages`");
$row = mysql_fetch_assoc ($result);
$table_messages = '';
while ($row = mysql_fetch_assoc($result))
{
$table_messages .= '<tr>';
$table_messages .= '<td>' . $row['uname_sender'] . '</td>';
$table_messages .= '<td>' . $row['theme'] . '</td>';
$table_messages .= '<td>' . $row['messages_text'] . '</td>';
$table_messages .= '<td>' . $row['date'] . '</td>';
$table_messages .= '<td>' . $row['id'] . '</td>';
$table_messages .= '</tr>';
}
Код шаблона:
<table border="1" class="table_info" align="center">
<tr>
<td colspan="5" align="center"><a href="?send_message">Отправиль сообщение</a></td>
</tr>
<tr>
<td width="20%">Отправитель</td>
<td>Тема</td>
<td>Сообщение</td>
<td>Дата</td>
<td>Действия</td>
</tr>
<?php
echo $table_messages;
?>
</table>
Проблема в том, что выводит только одну строку и все. А в базе две строки с данными. Подскажите где я сделал ляп =)
Спустя 17 минут, 3 секунды (25.11.2010 - 16:52) sergeiss написал(а):
Вот эта строка, прописанная выше цикла, забирает первую строку. Удали сей код и оставь чтение только в цикле.
Цитата (koala @ 25.11.2010 - 17:35) |
$row = mysql_fetch_assoc ($result); |
Спустя 14 минут, 32 секунды (25.11.2010 - 17:07) koala написал(а):
sergeiss, убрал строку, не помогло =( Тоже выводит одну строку.
Спустя 23 минуты, 4 секунды (25.11.2010 - 17:30) inpost написал(а):
koala
А должно работать.
А должно работать.
Спустя 9 минут, 22 секунды (25.11.2010 - 17:39) koala написал(а):
error_reporting (E_ALL);
$result = mysql_query ("SELECT * FROM `test_messages`");
$row = mysql_fetch_assoc ($result);
while ($row = mysql_fetch_assoc($result))
{
$table_messages .= '<tr>';
$table_messages .= '<td>' . $row['uname_sender'] . '</td>';
$table_messages .= '<td>' . $row['theme'] . '</td>';
$table_messages .= '<td>' . $row['messages_text'] . '</td>';
$table_messages .= '<td>' . $row['date'] . '</td>';
$table_messages .= '<td>' . $row['id'] . '</td>';
$table_messages .= '</tr>';
}
Вот как изменился код после совета? Или надо было сделать так?
error_reporting (E_ALL);
$result = mysql_query ("SELECT * FROM `test_messages`");
$row = mysql_fetch_assoc ($result);
while ($row = mysql_fetch_assoc($result))
{
$table_messages = '<tr>';
$table_messages .= '<td>' . $row['uname_sender'] . '</td>';
$table_messages .= '<td>' . $row['theme'] . '</td>';
$table_messages .= '<td>' . $row['messages_text'] . '</td>';
$table_messages .= '<td>' . $row['date'] . '</td>';
$table_messages .= '<td>' . $row['id'] . '</td>';
$table_messages .= '</tr>';
}
Два варианта попробовал, результат тот же =(
Спустя 4 минуты, 40 секунд (25.11.2010 - 17:44) inpost написал(а):
Тебе же написали, убери эту строчку:
$row = mysql_fetch_assoc ($result);
$row = mysql_fetch_assoc ($result);
Спустя 5 минут, 9 секунд (25.11.2010 - 17:49) koala написал(а):
Спасибо, все заработало, я немного не понял вас...
Насколько я понял, то в $row была только одна строчка (без цикла), поэтому и выводило только ее. И потом цыкл выводил пока будет $row, а в нем только одна строка.
Всем спасибо за помощь. +
Насколько я понял, то в $row была только одна строчка (без цикла), поэтому и выводило только ее. И потом цыкл выводил пока будет $row, а в нем только одна строка.
Всем спасибо за помощь. +
Спустя 1 минута, 38 секунд (25.11.2010 - 17:51) inpost написал(а):
$row = mysql_fetch_assoc ($result); - значит, что выбирается следующий элемент! В начале ты выбрал первый! А в цикле WHILE сначала идёт выборка, потом код. Так что у тебя перещелкнул на второй ряд и вывелся!
Спустя 4 минуты, 27 секунд (25.11.2010 - 17:55) sergeiss написал(а):
Цитата (koala @ 25.11.2010 - 18:49) |
Спасибо, все заработало, я немного не понял вас... |
Да ты заходи, если чего

Спустя 2 часа, 6 минут, 35 секунд (25.11.2010 - 20:02) koala написал(а):
sergeiss, я сюда каждый день захожу. Программирование на PHP занимаюсь уже вот 3-4 месяца. Каждый день понемножку =)
_____________
Vi Veri Veniversum Vivus Vici