2009-06-08 4 views
0

Bonjour je me demande si quelqu'un peut aider avec ce code. J'essaie d'afficher les enregistrements d'une table d'URL pour une catégorie, par exemple url_category_id = à 1. où l'URL et la catégorie sont les mêmes dans la table d'association. J'ai quelques problèmes avec ce rss car il a une erreur d'analyse sur la ligne 55. J'ai essayé de résoudre le problème mais sans succès.PHP RSS ne pas analyser à la ligne 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 

Je vous serais reconnaissant de toute aide pour essayer de résoudre ce problème.


Tout ce que je reçois est erreur d'analyse en ligne 52 et si je le modifier je reçois erreur d'analyse en ligne 55 .. aucune raison quant à l'erreur, mais j'ai remarqué la section de code ne reconnaît pas qu'il comme php dans ce post. Désolé, je ne peux rien offrir de plus.

+0

Oui, une erreur serait géniale. :) – Christian

Répondre

1

Dans la ligne 20, vous ouvrez un bloc if, à la ligne 34 vous ouvrez une boucle for, mais le seul endroit où vous fermez quelque chose est dans la ligne 49. Vous avez oublié de fermer l'un des blocs.

+0

Salut, je l'avais remarqué et ajouté une boucle fermée à la ligne 50 cela n'a pas supprimé l'erreur et j'ai essayé un supplémentaire à la ligne 53, mais aucun n'a fonctionné. Merci pour votre aide. – Ddywalgi

Questions connexes