PHP RSS не анализируется в строке 55 - PullRequest
0 голосов
/ 08 июня 2009

Привет, интересно, кто-нибудь может помочь с этим кодом. Я пытаюсь показать записи из таблицы URL для категории, например, url_category_id = to 1., где url и категория совпадают в ассоциированной таблице. У меня возникли некоторые проблемы с этим rss, так как в строке 55 произошла ошибка синтаксического анализа. Я пытался решить эту проблему, но безрезультатно.

 <?php $db = new mysqli("Host", "USER", "PW", "DB");?>
<?php header('Content-type: text/xml'); ?>
<?php echo "<?";?>xml version="1.0" encoding="iso-8859-1"<?php echo "?>";?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>My TITLE</title>
<description>My DESCRIPTION</description>
<link>www.MyWeb</link>
<copyright>C) 2009 All Rights Reserved</copyright>
<atom:link href="http://source of feed" rel="self" type="application/rss+xml" />
<?php
$query = 'SELECT * FROM url_categories WHERE url_category_id= $type';
$result = mysql_query ($query);
if (isset($_GET['type'])) {
    $type = (int) $_GET['type'];
} else {
    $type = 3;
}

if ($type > 0) {

    // Get the current type name.
    $query = "SELECT category FROM url_categories WHERE url_category_id=$type";
    $result = mysql_query ($query);
    list ($category) = mysql_fetch_array ($result, MYSQL_NUM);

    $first = TRUE; // Initialize the variable.

    // Query the database.
    $query = "SELECT  u.url_id,   url,   title,   description,   pub_date,  STR_TO_DATE(pub_date, '%d-%b-%Y') AS sortdate,  DATE_FORMAT(STR_TO_DATE(pub_date, '%d-%b-%Y'), '%d.%b.%Y') FROM   urls AS u,   url_associations AS ua WHERE  u.url_id = ua.url_id   AND ua.url_category_id=$type  AND ua.approved = 'Y'ORDER BY  sortdate DESC";
    $result = mysql_query ($query);
    $num_records = mysql_num_rows($result);
$number = $results->num_rows;
for ($i = 1; $i <= $number; $i++) {
$row = $results->fetch_assoc();
$title = $row['title'];
$description = $row['description'];
$url = $row['url'];
$date = $row['sortdate'];
?>
<item>
<title><?php echo $title; ?></title>
<description><?php echo $description; ?></description>
<link><?php echo "http://";?><?php echo $url; ?></link>
<guid><?php echo "http://";?><?php echo $url; ?></guid>
<pubDate><?php echo date("D, d M Y H:i:s O", strtotime($date)); ?></pubDate>
</item>
<?php
}
?>
</channel>
</rss>
<?php
$db->close();
?>//This is the parse error line

Буду признателен за любую помощь в решении этой проблемы.


Все, что я получаю, - это ошибка синтаксического анализа в строке 52, и если я ее изменяю, я получаю ошибку синтаксического анализа в строке 55 ... нет причин для ошибки, но я заметил, что раздел кода не распознает ее как php в этом сообщение. Извините, я не могу больше ничего предложить.

1 Ответ

1 голос
/ 08 июня 2009

В строке 20 вы открываете блок if, в строке 34 вы открываете цикл for, но единственное место, где вы что-то закрываете, находится в строке 49. Вы забыли закрыть один из блоков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...