Veritabanýndan çektiðimiz verileri <Onceki 2 3 4 5 6 Sonraki> linkler halinde sayfalatma için
http://www.sistembilgisi.com/index.php?kategori=2 þeklindeki kayýtlarý istersek; yani kategori id numarasý 2 olan verileri sayfalara bölmek için
http://www.sistembilgisi.com/index.php?kategori=2&sayfa=1
http://www.sistembilgisi.com/index.php?kategori=2&sayfa=2
....
{
$sayfa = $_GET['sayfa']; // sayfa numarasýný al
}else{
$page = 1; // sayfa numarasý yoksa 1 kabul et
}
$max = 10; // her sayfada 10 kayýt
$alt = (($sayfa * $max) - $max); //sayfa sayýsýna göre kaçýncý kayýtta olduðumuzu hesaplýyoruz
$row = mysql_query("SELECT * FROM `table` ORDER BY `id` DESC LIMIT $cur, $max") or die(mysql_error()); // sql sorgumuz
$veri = mysql_fetch_array($row); // veriyi çekelim
$row1= mysql_query("SELECT * FROM `table` ") or die(mysql_error()); // sql sorgumuz
$toplam = mysql_num_rows($row1); // toplam kayýt
$toplam_sayfa = ceil($toplam / $max); // toplam sayfamýzý hesaplýyoruz
if($sayfa> 1){ // 1 den büyükse
$onceki = ($sayfa - 1); // önceki sayfa araþtýrmasý
echo '<a href="http://www.sistembilgisi.com/wp-admin/?sayfa=$onceki">« Önceki</a>'; // Önceki linkini yaz
}
for($i = 1; $i <= $toplam_sayfa; $i++) // 1 den toplam sayfa sayýmýza kadar numaralar
{
if($sayfa == $i) // eðer sayfa sayýsý i ye eþitse þu anda bulundugunuz sayfadasýnýz
{
echo'<strong>' . $i .'</strong> '; // þimdiki sayfayý kalýn yazýyoruz
} else {
echo '<a href="http://www.sistembilgisi.com/wp-admin/?sayfa=$i">' . $i . '</a> '; // deðilse linkli numalarý yaz
}
}
if($sayfa <$toplam_sayfa){ // sonraki sayfa
$sonraki = ($sayfa + 1); // sonraki sayfa araþtýrmasý
echo '<a href="http://www.sistembilgisi.com/wp-admin/?sayfa=$sonraki">Sonraki »</a>'; // Sonraki Linki
}
?>
Php.net manuel de gezinirken preg_match konusu altýnda rasladým rssreader koduna iþlev olarak mükemmel geliþtirmeye açýk.Ben baþladým bile
function RSSreader($url)
{
$rssstring = file_get_contents($url);
preg_match_all("#<title>(.*?)#s",$rssstring,$titel);
preg_match_all("#<item>(.*?)</item>#s",$rssstring,$items);
$n=count($items[0]);
for($i=0;$i<$n;$i++)
{
$rsstemp= $items[0][$i];
preg_match_all("#<title>(.*?)#s",$rsstemp,$titles);
$title[$i]= $titles[1][0];
preg_match_all("#<pubdate>(.*?)</pubdate>#s",$rsstemp,$dates);
$date[$i]= $dates[1][0];
preg_match_all("#<link>(.*?)</link>#s",$rsstemp,$links);
$link[$i]= $links[1][0];
}
echo "<h2>".$titel[1][0]."</h2>";
for($i=0;$i<$n;$i++)
{
$timestamp=strtotime($date[$i]);
$datum=date('d-m-Y H\hi', $timestamp);
if(!empty($title[$i])) echo $datum."\t\t\t <a href=".$link[$i]." target=\"_blank\">".$title[$i]."<br />";
}
}
?>
Kullanýmý:
RSSreader("http://www.sistembilgisi.com/feed/");
?>
Bu haliyle gayet güzel çalýþýyor.Fakat tr karakter sorunu devam ediyor.Bi tr fonksiyonu yazalým
$tr_yanlis = array (
'Ç','ç','G','g','I','i','Ö','ö','S','s','Ü','ü',
'Ç','ç','Äz','ÄŸ','İ','ı','Ö','ö','Åz','ÅŸ','Ü','ü',
'Ç','ç','G','g','I','i','Ö','ö','S','s','Ü','ü',
'&Ccedil;','&ccedil','Ö','ö','Ü','ü',
'Ð','ð','Ý','ý','Þ','þ',
'Ð','ð','Ý','ý','Þ','þ');
$tr_dogru = array (
'Ç','ç','G','g','I','i','Ö','ö','S','s','Ü','ü',
'Ç','ç','G','g','I','i','Ö','ö','S','s','Ü','ü',
'Ç','ç','G','g','I','i','Ö','ö','S','s','Ü','ü',
'Ç','ç','Ö','ö','Ü','ü',
'G','g','I','i','S','s',
'G','g','I','i','S','s');
$text = str_replace($tr_yanlis, $tr_dogru, $text);
return $text ;
}
heh þimdi oldu
Bir kaç video sitem ve youtube botum var haliyle sitelerdeki video sayýsý baya fazla.Geçenlerde aklýma bir fikir geldi.Video sitelerime tag sistemi getireyim dedim en kolay nasýl yaparým die düþündüm.Ve google dan kelimelerle dolu birkaç sayfa bulmak zor olmadý.Bu kelimeleri linkli hale getirmem lazýmdý yardýma Caesar yetiþti
bundan sonra çýktýmýz þöyle olucak.
php linki http://www.sistembilgisi.com/etiket/php/
mysql linki http://www.sistembilgisi.com/etiket/mysql/
rss linki http://www.sistembilgisi.com/etiket/rss/
xml linki http://www.sistembilgisi.com/etiket/xml/
Bu sayede gugýlda yaklaþýk 20bin etiket indexi yaptým ![]()
He birde bu linkleri oluþturduk fakat tag sayfasý nasýl yapýcaz derseniz arama sayfanýzý kullanýn ![]()
Not:Aþýrýya kaçmayýn siteniz sandbox a girebilir :p
Fake Pr Nedir?
Fake pagerank adý üstünde sahte pagerank deðeridir.Sitemize gelen googlebot larýný kandýrarak fake pr yapýlabilir.Ve tüm google toolbarlarýnda bu fake deðer görünür.
Nasýl yapýlýr?
Yapýlýþý benim bildigim kadarýyla iki yol mevcuttur.
Birincisi sayfa koduna yerleþtirilen googlebot u kandýrma amaçlý php kodudur.
Görüldüðü gibi googlebot geldiði zaman direk belgeler.org a yönlenerek onun pr deðeri okutulmakta ve bunun sonucunda sayfamýz belgeler.org un pr deðeri olan pr7 yi almakta.
Ýkinci yol ise direk prli domaini prsiz domaine yönlendirme yada tam tersi prsiz domaini pr li domaine yönlendirme.
Nekadar sürede sitem pr deðeri kazanýr diye bir soru soracak olursanýz bende tam emin deðilim ama 1-3 hafta arasý sürebilir.
Fake Pr Nasýl Anlaþýlýr?
http://www.seologs.com/pr-check/pagerank.html?url=www.sistembilgisi.com
burda çok güzel çalýþan bir site var (arasýra yoðunluk nedeniyle iþlem yapmasa bile)Bu siteden domainlerin pr sinin fake olup olmadýðýný anlýyabilirsiniz.Ve fake ise fake pr deðereine sahip gerçek siteyide göstermekte.
Regex (Regular Expressions : Düzenli Ýfadeler) Nedir?
Bütün programlama dillerinde kullanabileceðiniz çok iyi düþünülmüþ bir kural mekanizmasýdýr.
Ýlk baktýðýnýzda "bunun neresi düzenli, tam tersine bu þey oldukça düzensiz görünüyor" diyebilirsiniz. Çünkü gerçekten düzensiz görünen karakter grubudur. Regex (Regular Expressions'un genel olarak kýsaltmasý regex olarak kullanýlýr) bizim metinlerimiz içerisinden belirlediðimiz kurallara benzeyen metin parçalarýný seçmemizi; kullandýðýnýz dile göre deðiþtirmemizi de saðlayabilir. Mesela bir e-posta'nýn doðru olabilirlik kurallarý vardýr. Sitenizde girilen epostalarý bu þekilde doðru veya yanlýþ formatta olup olmadýklarýný kontrol edebilirsiniz.
Bu dökümanda otomatik olarak linkleri nasýl çevireceðimizden bahsedeceðim.
Metinlerde girilen þeylerin link olup olmadýklarýný bazý mantýksal kurallara göre bölelim
mesela bir link önce protokolü ile baþlar "http://" "ftp://" "ssh://" "file://" vb gibi. Bu baþlangýçlar bize girilen þeyin link olduðunu gösterebilir. Ayný þekilde hýzlý yazýmla birlikte "www." ile baþlayan þeyler ".com" ile biten þeyler de bize link olarak seçmemizi saðlayacak kriterler.
PHP'de regex fonksiyonlarý olarak erege_replace fln kullanabilirsiniz fakat preg_replace daha yetenekli olduðundan preg_replace'e özel bir düzenli ifade kuralý kullanacaðýz.
Þimdi doðrudan düzenli ifade kuralýný verip sonra açýklamaya çalýþacaðým :
http:// ftp:// gibi protokolü ile yazýlmýþ linkler için :
seçim kurallarýný kullanýyoruz.
En baþtaki [\n] link eðer satýr baþýnda ise seçebilmemizi saðlýyor. Eðer bu ibareyi belirtmezsek yüksek ihtimal sadece satýr içindeki linkler dönüþecektir. Bunu belirten kural 1. grup parantez olduðundan \1 ile kullanýlabilecek.
Genel bir kural koymadýk protokol belirtecimz için çünkü tonlarca farklý protokol var. Ýstersek ikinci grup parantez'e sadece http sadece ftp gibi belirteçler kullanarak istediðimiz protokole istediðimiz link deðiþimini uygulayabiliriz. Mesela smb:// için bir windows paylaþým iþareti koyabiliriz otomatik çevirdiðimiz link'in yanýna, ya da ftp:// için dosya transfer'i anlatan küçük bir ikon. Neyse ikinci grup parantez bizim protokol adýmýzý ifade ediyor. Bunu \2 ile otomatik link çevirmede kullanacaðýz.
Statik olarak "://" ibaresi arandýktan sonra 2. grup parantezde tüm linkimizi tarayabilecek kural bulunuyor. Burada dikkat etmemiz gereken þeyler, bir link'te kullanýlabilecek özel karakterler olacaktýr. Mesela bir linkte # & % = : ; gibi çok karakter vardýr. Eðer bunlarý belirtmezsek. Kullanýcýnýn burada belirtmediðimiz karakterleri içeren bir link giriþinde otomatik link çevirilirken o belirtmediðimiz karakterden sonrasý link'e dahil edilmeyecektir. Eski sitemde böyleydi
Bu üçüncü grup parantez'le seçilen "www.deneme.com.tr/deneme.php?asd=1&qwe=2$%_*#git" gibi kýsým \3 deðiþkenine atanacaktýr.
Sonuç olarak biz metinimizi þu aþaðýdaki kod ile otomatk link haline çevirebileceðiz :
$yazi = preg_replace("#([n])([a-z]+?)://([a-z0-9-.,?!%*_#:;~&$@/=+]+)#ie",
"'1<a href=\"2://3\">2://3</a>'", $yazi);
?>
Bu sitede kullandýðým otomatik link dönüþüm fonksiyonu ise þu þekilde :
Bu fonksiyon ile linklerinizi ve epostalarýnýzý otomatik dönüþtirebilirsiniz.
function linkler( $yazi ) {
// http seklindekiler
$yazi = preg_replace("#([n])([a-z]+?)://([a-z0-9-.,?!%*_#:;~&$@/=+]+)#ie",
"'1<a href=\"2://3\">2://3</a>'", $yazi);
// www seklindekiler
$yazi = preg_replace("#([n ])[Sadece Kayýtlý Kullanýcýlar Linkleri Görebilir. Kayýt Olmak Ýçin Týklayýn...][a-z0-9-]+).([a-z0-9-.~]+)((?:/[a-z0-9-.,?!%*_#:;~&$@/=+]*)?)#i",
"1<a href=\"http://www.2.34\">www.2.34</a>", $yazi);
// epostalar
$yazi = preg_replace("#([n ])([a-z0-9-_.]+?)@([w-]+.([w-.]+.)?[w]+)#i",
"1<a href=\"mailto:2@3\">2@3</a>", $yazi);
return($yazi);
}
?>
Bir veritabanýna veri girmeden önce veya girdikten sonra güncelleme yaptýktan sonra yaný sorgularla anlatmak gerekirse
INSERT,UPDATE,DELETE,BEFORE,AFTER gibi deyimleri kullanabiliyoruz.
Åžimdi olayý bir de örnek üzerinden inceleyelim :
Bu program sayesinde Windows ortamýnda mysql e baðlanýp sorgu,database oluþturma, import, export
gibi iþlemleri php ye gerek kalmadan rahatlýkla yapabilirsiniz.
VE SONUNDA, Beklenen Mysql DashBoard geldi.
Peki Dashboard nedir?
- Dashboard konsol hakkýnda hakkýnda bilgi almak, db ve table larý listeleyip açmak, ayarlarýný deðiþtirmek için kullandýðýmýz grafik arabirimdir.
Sanýrým Mysql i ciddi anlamda kullananlar için çok yararlý olucaktýr.
