PDA

Просмотр полной версии : Подскажите просто по РНР :)


volant
20.11.2008, 18:10
В общем тема такая: пишу код для создания РСС ленты на ПХП, используется информация из 2х таблиц в базе МайЭскьюэль, проблема в том, что не отображается (ни в парсере РСС, ни в чистом виде) инфа из таблиц если она является текстом, цифры - нормально.
Прошу сильно не пинать, я пока только учусь. :)

<?php
require_once('connect.php');
function BuildRss($title, $link, $description)
{
//Задаем SQL-запрос, который вернет имя выбранной пользователем темы
$sql2="SELECT id, kodofrazdel, name, name_creator, name_last_answer, date_last_answer, mesto_fayla FROM TOPIC ORDER BY date_last_answer desc";
$data2=mysql_query($sql2);
//$line3=mysql_fetch_row($data2);
echo "<?xml version=\"1.0\" encoding=\"windows-1251\" ?>\n";
echo "<rss version=\"2.0\">";
echo "<channel>";
echo "<title>".$title."</title>";
echo "<link>".$link."</link>";
echo "<description>".$desc."</description>";
//echo "<lastBuiltDate>20 nov 2008 00:05:12 +0300</lastBuildDate>";
while($res=mysql_fetch_row($data2))
{
echo "<item>";
$res[2]=mysql_escape_string($res[2]);
echo "<title>'".$res[2]."'</title>\n";
echo "<link>www. ____.org.ua/index2.php?show=message&numtopic=".$res[1]."</link>\n";
$sql="SELECT id,kodoftopic, text_message, name_man, date_answer FROM MESSAGE WHERE kodoftopic='".$res[1]."'";
$data=mysql_query($sql) or die(mysql_error());
echo "<description>".$data[0]."</description>\n";
echo "<pubDate>".$res[5]."</pubDate>\n";
echo "<guid>www.____.org.ua/index2.php?show=message&numtopic=".$res[1]."</guid>\n";
echo "</item>\n";
}
echo "</channel>";
echo "</rss>";
}
BuildRss("RSS-----", "http://www.____.org.ua/rss.php", "Описание канала");
?>

volant
20.11.2008, 18:26
Проблема как раз с переменной $res[], если она ссылается на число, то все ок, если на текст - не отображается.

flom
20.11.2008, 19:57
чето кажись такое встречал.
по-моему, работает только если тип колонки VARCHAR, а если
типа Longtext и т.п. - не работает. возможно чето путаю.

fox_12
20.11.2008, 20:04
$sql="SELECT id,kodoftopic, text_message, name_man, date_answer FROM MESSAGE WHERE kodoftopic='".$res[1]."'";

А такая команда что выдает после этого?
echo $sql;

И что будет если полученную команду выполнить непосредственно в мускуле?

volant
20.11.2008, 20:31
flom Все колонки кроме id, date_*** варчар. Никак не в курю, хрена оно не работает. :(

fox_12 В мускуле если явно задать значение переменной, то выводит все нормально. А вот по-поводу echo $sql - то в конце, значение переменной выдается в таком виде *****kodoftopic='1'. Ща попробую исправить.

Vladyslav
21.11.2008, 13:43
Кста а как обстоят дела с кодировкой базы? ;-)