// Önce mysqli bağlantı bilgilerini içeren php dosyamızı include ediyoruz
$mysqlihost="localhost";
$mysqliuser="sivastas_tasyeni";
$mysqlipass="tashakan";
$mysqlidatabase="sivastas_tasyeni";
if(! $baglanti=@mysqli_connect($mysqlihost, $mysqliuser, $mysqlipass)) die("veritabani baglantisi yok.");
mysqli_select_db($mysqlidatabase);
// İkinci olarak sayfa output'unun hangi formatta olduğunu belirten header komutunu gönderiyoruz. Sayfamız xml formatında olacaktır.
header("Content-Type: text/xml");
// Get metoduyla aldığımız sayfa verisini $sayfa isimli değişkene atıyoruz.
if(! isset($_GET[sayfa])) $sayfa=1; else $sayfa=$_GET[sayfa];
//Tarihi belirtiyoruz. Burada format önemli. Format dışına çıkılmamalı. Eğer veritabanınızda her makalenin giriş tarihi varsa dinamik olarak onu da ekleyebilirsiniz. Burada sabit bir gün kullandım.
$date = date('Y-m-d H:i:s');
$yil= date('Y');
$ay= date('m');
$gun= date('d');
// Eğer sayfa değişkeni "index" değeri aldıysa output olarak sitemap-index verilecek.
if($sayfa=="index"):
// İlk olarak bütün makale sayısını alıyoruz.
$index_sayi=mysqli_num_rows(mysqli_query($baglan,"SELECT * FROM sayfalar "));
// İkinci olarak kaç adet index'te kaç adet sitemap listeleneceğini bulmak için, toplam rakamı sitemap başı url sayısına bölüyoruz. Ben genelde veritabanını yormamak ve hızlı yüklenme için 6000 kullanırım.
$index_sayi=ceil($index_sayi / 6000);
//Google sitemap-index header'larını giriyoruz. Encoding'i dileğinize göre değiştirebilirsiniz.
echo "
\n";
// Ana etiketleri girdikten sonra sitemap'ları döngü ile listeliyoruz.
for($i=0; $i<$index_sayi; $i++){
echo "
http://www.sivastasarim.com/sitemap.php?sayfa=".($i+1)."
\n";
}
// Son olarak sitemap-index sonlandırma etiketini girip index'i bitiriyoruz.
echo "";
// Eğer GET ile aldığımız sayfa değişkeni numerik ise bu kodlar çalışacak.
else:
// Sayfa numarasına göre 6000'lik veri alınıyor.
$sorgu=mysqli_query($baglan,"SELECT * FROM sayfalar ORDER BY id ASC LIMIT ".(($sayfa-1)*6000).",6000");
// Sitemap ana xml etiketleri giriliyor.
echo "
http://www.sivastasarim.com/
daily
1.0
\n";
// Alınan 6000'lik parça döngü ile yazdırılıyor.
while($sonuc=mysqli_fetch_assoc($sorgu)):
$tarih = $sonuc[sitemap];
echo ("
http://www.sivastasarim.com/index.php?Sayfa=ReferansDetay&ID=".$sonuc[id]."
$tarih
monthly
0.5
\n");
endwhile;
// Son olarak sitemap'ı sonlandırma etiketini yazdırıp dosyayı kapatıyoruz.
echo '';
endif;
?>