Подскажите, пожалуйста, как решить такую проблему
Есть сайт с обычными статичными страницами.
Главная страница site.ru/index.php
Есть блог, который находится по адресу site.ru/blog
Нужно на главной странице сайте, которая никак не связана с блогом выводить
заголовки последних постов в блоге.
Можно прямо из базы дернуть, а можно через RSS. Второй вариант более извращенный, но несколько проще для неискушенных в работе с БД. У меня на портале такая фишка реализована через БД, правда вместо блога стоит самодельный новостной движок.
та же "проблема" и у меня
только я выделила из кода в отдельную страницу "последние записи", но только теперь у отображаемых заголовков постов непонятная кодировка 🙁
Может кто-нибудь поможет нам?
См. тут
http://mywordpress.ru/support/viewtopic.php?id=1605
А куда вот это вставить:
Перекодировать из utf в cp1251 проще простого:
$row[‘post_title’] = iconv("UTF-8", "windows-1251", $row[‘post_title’]);
А в цикл
$result = mysql_query ("SELECT * FROM $table_name WHERE post_type=’post’ ORDER BY post_date DESC LIMIT $limit_posts");
while ($row = mysql_fetch_array ($result)) {
$row[‘post_title’] = iconv("UTF-8", "windows-1251", $row[‘post_title’]);
print <<<TTT
<li><a href="/blog/?p={$row[‘ID’]}">{$row[‘post_title’]}</a></li>
TTT;
}
Уважаемые! Прошу помощи.
Почему-то это:
у меня выдает это:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/home/dnetfirst/html/www.horoshosidim.com/Resien.html on line 19
а в 19-й строчку там – while ($row = mysql_fetch_array ($result)) {
(судя по DreamWeaver)
Что странно, этот же код с другого сайта (с другими данными, естественно), но на том же хостинге работает нормально:
В чем тут может быть дело?
точно в настроцйках сервера лажа какаята , так как страницы и блог все на утэфе, а отобраает вопросами
1. Чем перекодировать, лучше сразу после коннекта к базе делать
mysql_query ("SET NAMES ‘CP1251’");
на прямых серверах замечательно работает.
2. supplied argument is not a valid MySQL result – SELECT вернул не выборку, а ошибку. Добавьте die:
mysql_query ("SELECT…..) or die(mysql_error());
и всё расскажет.
Или нет ни одной подходящей записи, что вряд ли при условии WHERE post_type=’post’, т.к. так должны лезть все, включая черновики и личные.
1. лезет ошибка. хотя и туго в этом понимаю ,но зачем CP1251 когда страницы в UTF?
Warning: mysql_query(): Access denied for user ‘nobody’@’localhost’ (using password: NO) in /home/profalex/public_html/1.php on line 9
Warning: mysql_query(): A link to the server could not be established in /home/profalex/public_html/1.php on line 9
Ну, не надо перекодировать, так не перекодируйте, поставьте mysql_query ("SET NAMES ‘UTF8’");
mysql_connect и mysql_select_db не забыли сделать?
Вот так потихоньку и выучу основы программирования )
Метод тыка не помог, так как не стал везде тыкать этот код.
А текстт нормально отдает и при 1251 и при утф
спасибо тебе много уважаемый Ю.Б. 😀