Veritabanýndan çektiðimiz verileri sayfalatma

Kategori: PHP ve MYSQL | Yorum Yok »
Tarih

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
....

if($_GET['sayfa']) // sayfa numarasý var mý?
{
$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&gt; 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 &lt;= $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 &lt;$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
}
?&gt;

RSS Okuyucu

Kategori: PHP ve MYSQL | 3 Yorumlar »
Tarih

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 :D

<?php
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 :)

function tr ($text) {
           
$tr_yanlis = array (
'Ç','ç','G','g','I','i','Ö','ö','S','s','Ü','ü',
'Ã&#8225;','ç','Äz','Ä&#376;','İ','ı','Ã&#8211;','ö','Åz','Å&#376;','Ã&#339;','ü',
'Ç','ç','G','g','I','i','Ö','ö','S','s','Ü','ü',
'&amp;Ccedil;','&amp;ccedil','&Ouml;','&ouml;','&Uuml;','&uuml;',
'&ETH;','&eth;','&Yacute;','&yacute;','&THORN;','&thorn;',
'&ETH;','&eth;','&Yacute;','&yacute;','&THORN;','&thorn;');

$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

Metini kelime kelime ayýrarak linklemek

Kategori: PHP ve MYSQL | Yorum Yok »
Tarih

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 :D

$metin="php mysql rss xml";
$bol=explode(" ",$metin); //boþluklara kadar metindeki kelimeleri parçalýyor ve bunlarý bir diziye aktarýyor.
$say=count($bol)-1;
for ($i=0; $i&lt;=$say; $i++) {
echo "<a href="http://www.sistembilgisi.com/etiket/%22.$bol%5B$i%5D.%22"></a>".$bol[$i]." ";
}
?>

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 :D
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? Nasýl Yapýlýr? Nasýl Anlaþýlýr?

Kategori: PHP ve MYSQL, Webmaster Haberler | 11 Yorumlar »
Tarih

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.

<?php
if (strstr($_SERVER['HTTP_USER_AGENT'], "Googlebot")) {
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.belgeler.org/");
exit;
}
else {
//normal sayfa kodumuz
};
?>

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.

Yazýlarýmýzdaki linkleri otomatik çevirmek

Kategori: PHP ve MYSQL, Web Programlama | 2 Yorumlar »
Tarih

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 :

([n ])([a-z]+?)://([a-z0-9-.,?!%*_#:;~&$@/=+]+)

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 :

<?php
$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.

<?php
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);
}
?>

Mysql’de Trigger’lar(Tetikleyici)

Kategori: PHP ve MYSQL, Webmaster Haberler | Yorum Yok »
Tarih

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 :

Yazýnýn devamý »

MySQL-FRONT Programý

Kategori: PHP ve MYSQL | Yorum Yok »
Tarih

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.

Yazýnýn devamý »

Mysql Dashboard

Kategori: PHP ve MYSQL, Webmaster Haberler | Yorum Yok »
Tarih

dba-dashboard-tbl-stat.png 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.

Yazýnýn devamý »