Menu

Sitemap en php [Résolu]

Messages postés
15
Date d'inscription
dimanche 17 mars 2013
Dernière intervention
9 novembre 2018
- 8 nov. 2018 à 19:48 - Dernière réponse :
Messages postés
15
Date d'inscription
dimanche 17 mars 2013
Dernière intervention
9 novembre 2018
- 9 nov. 2018 à 14:12
Bonjour, j'essai de faire un sitemap de mon site en allant chercher la Reference dans une base de données, il me semble que ce code devrait fonctionner. Est-ce que j'ai trop de références dans la bd ( environ 12000 )

$xml = '<?xml version="1.0" encoding="UTF-8"?>';
$xml .= '
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';

$sql = 'SELECT Reference FROM personnes';
$ref = lect_sql($sql);

$resultat = $ref->fetch(PDO::FETCH_ASSOC);
foreach($resultat AS $Num) {
$xml .= '
<url>
<loc>Fiche_Fam_Pers.php?Refer='.$Num->Reference.'</loc>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>';
}
$xml .= '</urlset>';
$file = fopen('sitemap.xml', 'r+');
fputs($file, $xml);
Afficher la suite 

Votre réponse

1 réponse

Messages postés
6909
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2018
8 nov. 2018 à 21:25
0
Merci
1° peux-tu utiliser la coloration syntaxique quand tu partages du code?
2° pourquoi mentionnes-tu "devrait fonctionner" et "trop de références": message d'erreur, comportement inattendu? penses-tu avoir partagé toutes les information utiles?
Messages postés
15
Date d'inscription
dimanche 17 mars 2013
Dernière intervention
9 novembre 2018
- 8 nov. 2018 à 22:05
Vraiement désolé pour la coloration, le problème est que rien ne s'écrit dans le fichier sitemap.xml et je me demande ou est mon erreur
Messages postés
6909
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2018
>
Messages postés
15
Date d'inscription
dimanche 17 mars 2013
Dernière intervention
9 novembre 2018
- 8 nov. 2018 à 22:18
as-tu fait print_r de $resultat juste après le fetch, et de $xml après le foreach?
as-tu vérifié combien de fois le foreach s’exécutait, par exemple en faisant un echo à chaque tour?
Messages postés
15
Date d'inscription
dimanche 17 mars 2013
Dernière intervention
9 novembre 2018
- 8 nov. 2018 à 22:27
Dans les 2 cas, rien ne se produit.
Est-ce que le code suivant est approprié, je ne suis pas trop familier avec
$resultat = $ref->fetch(PDO::FETCH_ASSOC);
Merci
Messages postés
6909
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2018
>
Messages postés
15
Date d'inscription
dimanche 17 mars 2013
Dernière intervention
9 novembre 2018
- 9 nov. 2018 à 13:15
ce n'est probablement pas approprié. cependant, nous ignorons ce que retourne lect_sql. as-tu fait print_r de $ref?
Messages postés
15
Date d'inscription
dimanche 17 mars 2013
Dernière intervention
9 novembre 2018
- 9 nov. 2018 à 14:12
Bonjour, lect_sql est une fonction créée dans un autre fichier pour ouvrir et lire dans ma bd.
J'ai changé le foreach par un While et changé le fetch comme ceci et cela fonctionne parfaitement.
Merci

while ($row = $ref->fetch()){

$xml .= '
<url>
<loc>Fiche_Fam_Pers.php?Refer='.$row['Reference'].'</loc>
</url>';
}
Commenter la réponse de yg_be