Merci pour ta patience va falloir que je revois les fonctions
donc pour résumé
j'ai un fichier nommé generator.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
<?php
// -------------------------------------------------------------
// générer le SITEMAP automatiquement
// -------------------------------------------------------------
function generate_sitemap(){
// Début
$SITEMAP = '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
// -----------------
// URL des VILLES
$SITEMAP .= generate_sitemap_villes();
// -----------------
// Fin
$SITEMAP .= '</urlset>';
// -----------------
// ENREGISTRMENT du fichier : sitemap.xml
$fp = fopen(dirname(__DIR__).'sitemaps/sitemap.xml', 'w+'); // w+ : crée le fichier si il n'existe pas
fputs($fp, $SITEMAP);
fclose($fp); // On ferme le fichier
}
// -------------------------------------------------------------
// short_url
// -------------------------------------------------------------
function generate_sitemap_villes(){
// -----------------
$SITEMAP = '';
$PRIORITY = '0.7'; // on définit la priorité (commune pour toutes les pages "VILLES")
// -----------------
global $pdo; // connexion (global)
// -----------------
// Requête : toutes les villes
$ville_query = "SELECT * FROM ville ORDER BY ID_ville";
try {
$pdo_select = $pdo->prepare($ville_query);
$pdo_select->execute();
$ville_nombre = $pdo_select->rowCount();
$ville_rowAll = $pdo_select->fetchAll();
} catch (PDOException $e){ echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }
// -----------------
if( $ville_nombre>0)
{
foreach( $ville_rowAll as $ville_row)
{
$SITEMAP .=
' <url>
<loc>https://www.xxx.fr/'.$ville_row['shot_url'].'.php'.'</loc>
<priority>'.$PRIORITY.'</priority>
</url>
';
}
}
// -----------------
return $SITEMAP;
// -----------------
};
?> |
puis j'ai crée un fichier nommé sitemapsgeneration.php
1 2 3 4 5 6 7
|
<?php
include_once('administration/script/connect.php');
include_once('generator.php');
generate_sitemap();
?> |
lorsque je lance le fichier sitemapsgeneration cela execute les fonctions.
j'obtiens l'erreur
Fatal error: Call to a member function prepare() on null
est ce une erreur de connexion a la bdd ?
j'ai également supprimé la variable pour test comme cela
$pdo_select = $pdo->prepare('SELECT * FROM ville ORDER BY ID_ville');
idem
encore merci poour ta patience
Partager