Как на главной странице сайта вывести заголовки последних постов

Подскажите, пожалуйста, как решить такую проблему

Есть сайт с обычными статичными страницами.
Главная страница 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;
}

Уважаемые! Прошу помощи.
Почему-то это:

<?
$mysql_host = 'localhost';
$mysql_user = 'XXXXXX';
$mysql_pass = 'XXXXXX';
$mysql_db   = 'XXXXXX';

mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die("Could not connect DB\n");
mysql_select_db($mysql_db) or die("Could not select database");

$result = mysql_query ("SELECT * FROM wp_posts WHERE post_type='post' ORDER BY post_date DESC LIMIT 10");
    while ($row = mysql_fetch_array ($result)) {
        $row['post_title'] = iconv("UTF-8", "windows-1251", $row['post_title']);
        print <<<TTT
<li><a href="http://horoshosidim.com/?p={$row['ID']}" target="_blank">{$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)

Что странно, этот же код с другого сайта (с другими данными, естественно), но на том же хостинге работает нормально:

<?
$mysql_host = 'localhost';
$mysql_user = 'XXXXXX';
$mysql_pass = 'XXXXXX';
$mysql_db   = 'XXXXXX';

mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die("Could not connect DB\n");
mysql_select_db($mysql_db) or die("Could not select database");

$result = mysql_query ("SELECT * FROM wp_posts WHERE post_type='post' ORDER BY post_date DESC LIMIT 10");
    while ($row = mysql_fetch_array ($result)) {
        $row['post_title'] = iconv("UTF-8", "windows-1251", $row['post_title']);
        print <<<TTT
<li><a href="http://smotritv.net/kino/?p={$row['ID']}" target="_blank">{$row['post_title']}</a></li>
TTT;
    }

?>

В чем тут может быть дело?

точно в настроцйках сервера лажа какаята , так как страницы и блог все на утэфе, а отобраает вопросами

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 и при утф

спасибо тебе много уважаемый Ю.Б. 😀

Anonymous
Отправить
Ответ на: