Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Выборка из базы не проходит

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: помогите с кодом
inkor
Отправлено: 16 Февраля, 2013 - 18:18:53
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




Есть скрипт вывода в rss канале новостей из базы
вот скрипт

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. <?PHP
  4.  header("Content-Type: text/xml");
  5.  echo "<?xml version=\"1.0\" encoding=\"windows-1251\"?>";
  6.  
  7. ?>
  8.  
  9.  
  10.  
  11. <rss version="2.0">
  12. <channel>
  13. <title>Блог </title>
  14. <link><?PHP echo $_SERVER['HTTP_HOST']; ?></link>
  15. <description>Свежие новости</description>
  16. <language>ru</language>
  17.  
  18. <?PHP
  19. include('my/blocks/bd.php');
  20. $result = mysql_query ("SELECT id,title,teaser FROM articles ORDER BY(id) DESC LIMIT 2",$db);
  21. $myrow = mysql_fetch_array($result);
  22. if ($myrow = mysql_fetch_array($result))
  23. {
  24. do
  25. {
  26. printf ("<item>
  27. <title>%s</title>
  28. <link>http://сайт/article.php?id=%s</link>
  29. <description>%s</description>
  30. <author>сайт</author>
  31. <guid>http://сайт/article.php?id=%s</guid>
  32. </item>",$myrow['title'],$myrow['id'],$myrow['teaser'],$myrow['id']);
  33. }
  34. while ($myrow = mysql_fetch_array ($result));
  35. }
  36. ?>
  37. </channel>
  38. </rss>
  39.  
  40.  


выводит не 2 последних новости, а 1 предпоследнюю, пытался сделать вывод последней новости, но по MAX(id) не выводит ни чего, хотя такой запрос в самой базе проходит.

Помогите сделать так чтоб выводилась последняя новость (по макс id), или 2 последние новости.
 
 Top
esterio
Отправлено: 16 Февраля, 2013 - 18:24:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




1. http://forum.php.su/topic.php?fo...33&topic=793 - стоит почитать
2. для формирования xml есть отличный иструмент simpleXML из под коробки
 
 Top
voskan
Отправлено: 16 Февраля, 2013 - 18:25:22
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




<?php
include 'bd.php';
$vivod = mysql_query("SELECT * from articles ORDER by id desc limit 2");
if(!$vivod){
$oshibka = 'НЕ удалось получить данные от базы данных!';
}

while($read = mysql_fetch_array($vivod)){


echo ' '.$read['category'].'
'.$read['text'].' ';

}
?>

у меня данный код работает. выводит 2 последний записи.
 
 Top
inkor
Отправлено: 16 Февраля, 2013 - 20:25:36
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




У меня в базе такой SQL запрос тоже выводит 2 записи. а на сайте, и прочих агрегаторах только 1 предпоследнюю. В чем может быть проблема?
 
 Top
inkor
Отправлено: 18 Февраля, 2013 - 17:45:55
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




убрал строку if ($myrow = mysql_fetch_array($result)) и все заработало
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB