`_posts`.`post_text` как перевести в строку?

Форум для авторов модов для phpBB 3.0.x. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
foBius
phpBB 1.0.0
Сообщения: 3
Стаж: 17 лет 10 месяцев
Забанен: Бессрочно

`_posts`.`post_text` как перевести в строку?

Сообщение foBius »

Вопрос предельно прост:
Как получить текст сообщения форума(таблица _posts поле `post_text`) в формате string методами PHP?
или сформулирую по другому:
Как информацию из поля `post_text` таблицы _posts конвертировать в формат string?



этот простой и неправильный способ вывел мне 15 пустых строк(((...

Код: Выделить всё

$result=mysql_query("SELECT * FROM `forum_phpbb_posts`;");

for($i=0; $row = mysql_fetch_assoc($result) && $i<15; $i++)
print "$i)  ".$row['post_text']."<br><br>";
И не стоит писать сочинения какой я *****!, что незнаю такой простой истины, сам знаю, мне стыдно, но не работал я с полем BLOB никогда...тем более когда оно запихнуто в поле типа ТЕХТ....если знаете - напишите эту небольшую строчку с кодом, чем вы покажите своё превосходство в данном вопросе), а я сажу вам огрооомное спасибо!
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: `_posts`.`post_text` как перевести в строку?

Сообщение rxu »

Код: Выделить всё

$result=mysql_query("SELECT * FROM `forum_phpbb_posts` LIMIT 15;");

$i = 0;
while($row = mysql_fetch_assoc($result))
{
print "$i)  " . $row['post_text'] . "<br /><br />";
$i++;
} 
Изображение
Аватара пользователя
Oleg NT
Former team member
Сообщения: 450
Стаж: 20 лет 8 месяцев
Откуда: Нижний Тагил
Поблагодарили: 11 раз

Re: `_posts`.`post_text` как перевести в строку?

Сообщение Oleg NT »

foBius писал(а):$row = mysql_fetch_assoc($result) && $i<15;
У вас здесь переменной $row присваивается булева переменная, т.к. сначала выполняется «&&», а затем присвоение «=» (приоритет операций), а в итоге результат всей строчки (вернее, подстрочки) является это самое булево значение.
foBius
phpBB 1.0.0
Сообщения: 3
Стаж: 17 лет 10 месяцев
Забанен: Бессрочно

Re: `_posts`.`post_text` как перевести в строку?

Сообщение foBius »

rxu, Oleg NT, ОГРОМНОЕ, ОГРОМНОЕ, ОГРОМНОЕ СПАСИБО! Терь буду знать....ха! СПАСИБА!!! :D :D
rcoder
phpBB 1.0.0
Сообщения: 4
Стаж: 17 лет 7 месяцев

Re: `_posts`.`post_text` как перевести в строку?

Сообщение rcoder »

Oleg NT писал(а):
foBius писал(а):$row = mysql_fetch_assoc($result) && $i<15;
У вас здесь переменной $row присваивается булева переменная, т.к. сначала выполняется «&&», а затем присвоение «=» (приоритет операций), а в итоге результат всей строчки (вернее, подстрочки) является это самое булево значение.
ничего подобного. этот код прекрасно работает, хотя разработчики пхп говорят такой способ немного не корректный... было бы правельнее
сделать так (по мнению разработчиков):

Код: Выделить всё

while(false !== ($row = mysql_fetch_assoc($result)))
{
print "$i)  " . $row['post_text'] . "<br /><br />";
$i++;
} 
foBius, я бы советовал запрос в базу сделать таким "SELECT `post_text` FROM `forum_phpbb_posts` LIMIT 15" - в таком случае идет меньшая нагрузка на сервер, и в итоге меньше лагов в том месте, где этот запрос в базу посылается :)

Вернуться в «Для авторов (phpBB 3.0.x)»