2017-01-13 7 views
0

こんにちは、私はphpでsitemap.xmlフォームデータベースのデータを作成したいと思います。サイトマップのXMLをPHPで作成する方法

私の現在のコードは、私はデータフォームデータベースを取得しています。

$show_data = "query to database"; 
$rows = mysqli_query($conn, $show_data); 
$row = mysqli_fetch_array($rows); 

while($row = mysqli_fetch_array($rows)){ 
    echo "<url>\n"; 
    echo "<loc>https://example.com/page/".$row['id']."</loc>\n"; 
    echo "<lastmod>".$date_show."</lastmod>\n"; 
    echo "<changefreq>weekly</changefreq>\n"; 
    echo "<priority>0.80</priority>\n"; 
    echo "</url>\n"; 
} 

答えて

0

mysqli_resultあなたはforeachで直接それを使用することができますので、Traversable(PHP> = 5.4)を実装しています。これをXMLWriterと組み合わせれば、完了です。

$targetFile = 'php://stdout'; 
$xmlns = 'http://www.sitemaps.org/schemas/sitemap/0.9'; 
$date = date('Y-m-d'); 

$writer = new XMLWriter(); 
$writer->openUri($targetFile); 
$writer->setIndent(2); 
$writer->startDocument(); 
$writer->startElementNS(NULL, 'urlset', $xmlns); 

foreach ($queryResult as $row) { 
    $writer->startElement('url'); 
    $writer->writeElement('loc', 'https://example.com/page/'.urlencode($row['id'])); 
    $writer->writeElement('lastmod', $date); 
    $writer->writeElement('priority', '0.80'); 
    $writer->endElement(); 
} 

$writer->endElement(); 
$writer->endDocument(); 
関連する問題