<?
// Önce mysql bağlantı bilgilerini içeren php dosyamızı include ediyoruz
$mysqlhost="localhost";
$mysqluser="ucretsiz_mp31";
$mysqlpass="123331";
$mysqldatabase="ucretsiz_mp3";
if(! $baglanti=@mysql_connect($mysqlhost, $mysqluser, $mysqlpass)) die("veritabani baglantisi yok.");
mysql_select_db($mysqldatabase);
// İ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="2009-11-07";
// 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=mysql_num_rows(mysql_query("SELECT `sarkid` FROM `sarkilar`"));
// İ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 1000 kullanırım.
$index_sayi=ceil($index_sayi / 1000);
//Google sitemap-index header'larını giriyoruz. Encoding'i dileğinize göre değiştirebilirsiniz.
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<sitemapindex xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
// Ana etiketleri girdikten sonra sitemap'ları döngü ile listeliyoruz.
for($i=0; $i<$index_sayi; $i++){
echo "<sitemap>
<loc>http://www.*/sitemap.php?sayfa=".($i+1)."</loc>
<lastmod>$date</lastmod>
</sitemap>\n";
}
// Son olarak sitemap-index sonlandırma etiketini girip index'i bitiriyoruz.
echo "</sitemapindex>";
// Eğer GET ile aldığımız sayfa değişkeni numerik ise bu kodlar çalışacak.
else:
// Sayfa numarasına göre 1000'lik veri alınıyor.
$sorgu=mysql_query("SELECT `sef` FROM `sarkilar` ORDER BY `sef` ASC LIMIT ".(($sayfa-1)*1000).",1000");
$snt=mysql_query("SELECT `sef` FROM `sanatci` ORDER BY `sef` ASC LIMIT ".(($sayfa-1)*1000).",1000");
// Sitemap ana xml etiketleri giriliyor.
echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>
<urlset xmlns=\"http://www.google.com/schemas/sitemap/0.84\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xsi:schemaLocation=\"http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd\">\n";
// Alınan 1000'lik parça döngü ile yazdırılıyor.
while($sonuc=mysql_fetch_assoc($sorgu)):
while($fl=mysql_fetch_assoc($snt)):
echo " <url>
<loc>http://www.*.com/sarki/".$fl[sef]."/".$sonuc[sef]."-".$sonuc[sarkid].".html</loc>
<lastmod>$date</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>\n";
endwhile;
// Son olarak sitemap'ı sonlandırma etiketini yazdırıp dosyayı kapatıyoruz.
echo '</urlset>';
endif;
?>Aldığım Hata Bu Arkadaşlar Bir Türlü Çözemedim.
Parse error: syntax error, unexpected T_ENDIF in /home/ucretsiz/public_html/sitemap.php on line 71