$sor=mysql_query("SELECT * FROM tablo_adi ORDER BY sira_sart_sutunu DSc");
ASC : Sondan başa doğru sıralanacağını ifade eden SQL cümlesi
sira_sart_sutunu: Hangi kritere göre sıralama yapacağı bu sütunun adıyla belitirlir.
Örneğin:
Tablo adı ogrenciler olan ve ogr_no’ya göre verileri çeken bir sorun buna örnek olabilir. Öğrencilerin numarasına göre veri çekimi yapılır. 3 Ayşe-2 Veli-1 Ali gibi…
İlk 10 Veriyi Çekmek için
$sor=mysql_query(SELECT * FROM tablo_adi ORDER BY sutun_adi ASC LIMIT 0,10);
ASC ve sutun_adi ilk degerden 10. degere göre Siralanacak Listeyi Belirtir.
Ornegin :
tablomuz uyeler olsaydi sutunumuzda id alani olsaydi uyeleri 1-2-3….10 diye id noya gore siralayacaktir.
Son 10 Veriyi Çekmek için
$sor=mysql_query(SELECT * FROM tablo_adi ORDER BY sutun_adi DESC LIMIT 0,10);
DESC ve sutun_adi son 10 degere göre Siralanacak Listeyi Belirtir.
Ornegin :
tablomuz uyeler olsaydi sutunumuzda id alani olsaydi uyeleri 10,9….2,1 diye id noya gore siralayacaktir.
İnternette dolaşırken her web sitesinde mutlaka gördüğümüz üye giriş formu, iletişim formu, bilgi formu ve buna benzer daha bir çok form doldurdumuşuzdur peki ya bunları nasıl yaparız?
Aslında gördüklerminizin hepsi yazı yani text’dir. Bunlar normalde arka planda istemci ile beraber çalışarak veritabanlarına bilgileri kayıt ederler, sorgularlar ve böyle üye kaydı veya üye girişleri, epostalarmıza gelen mailler otomatik olarak oluşmuş olur. Neyse lafı fazla uzatmadan bir örnekle konuya açıklık getirelim.
Öncelikler bir html sayfası olarak form oluşturalım. Bu sayfada Php kod yazmıyacağımız için uzantısı .html olabilir.
< head > < meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" /> < title >Form< /title > < /head > < body > < form name="form1" method="post" action="gonder.php" > İsminiz: < input name="isim" type="text" id="isim" > < /label > < br> < br> E-Postanız: < label> < input name="eposta" type="text" id="eposta"> < /label> < br> Mesajınız: < label> < textarea name="mesaj" id="mesaj"> < /label> < br> < label> < input name="postala" type="submit" id="postala" value="Gönder"> < /label> < /form> < /body> < /html>
Bilgilerin gönderileceği ve sayfayada gösterileceği gonder.php sayfasını oluştulalım.
< ? php $isim=$_POST["isim"]; $eposta=$_POST["eposta"]; $mesaj=$_POST["mesaj"]; echo "< b>İsminiz:< /b> $isim < br> < b>Epostanız:< /b> $eposta < br> < b>Mesajınız:< /b> $mesaj"; ? >
Kodlarımızdan da anlaşılacağı gibi formdan gelen bilgileri bir değişkene atadık ve daha sonra bu değişkenleri echo komutu ile yazdırdık.
Herkese iyi çalışmalar.
Webde en çok kullandığımız yöntemlerden biri de tarih ve saati saklamaktır. Örneğin bir kullanıcı hangi zamanda siteye giriş ve çıkış yapmış ne zaman mesaj yazmış ne zaman mail göndermiş. Bunları her zaman veri tabanlarımızda saklamak gereklidir. Bunun için bize PHP’nin sunduğu çok kolay bir fonksiyonu kullanacağız.
$tarih=date('d.m.y');
$saat=date('H:i:s');
echo ($tarih);
echo($saat);
Kullanılan Kısaltmalar
a “am” veya “pm” formatini gosterir.
A “AM” veya “PM” formatini gosterir.
d Gunun degerini iki basamakli olarak gosterir. “01″ den “31″ e kadar
D Gunun degerini uc haneli kullanarak gosterir. “Fri” gibi
F Ayin degerini tam olarak gosterir.”January” gbi
h Saatin degerini 12 saat formatinda gosterir.”01″ den “12″ ye kadar
H Saatin degerini 24 saat formatinda gosterir.”01″ den “23″ e kadar
g Saatin degerini 12 saat formatinda sifir kullanmadan gosterir.”1″ den “12″ ye kadar
G Saatin degerini 24 saat formatinda sifir kulllanmadan gosterir.”0″ dan “23″ e kadar
i Dakikanin degerini gosterir.”00″ dan “59″ ‘a kadar
j Gunun degerini sifir kullanmadan gosterir.”1″ den “31″ ‘e kadar
l Gunun degerini text olarak gosterir.”Friday” gibi,
L Boolean olarak “artikyil” icin “0″ veya “1″ degerini alir
m Ayin degerini gosterir.”01″ den “12″ ye kadar
n Ayin degerini sifirlar olmadan gosterir.”1″ den “12″ ye kadar
M Ayin text degerini ilk uc harfini kullanarak gosterir.”Jan” “Feb” gibi
s Saniyenin degerini gosterir.”00″ dan “59″ a kadar
S Ingilizce tarih icin tanimlanan “th” “nd” gibi kisaltmalari gosterir.
t Ayin icindeki gun adedini verir.”28″ den “31″ e kadar
T Server icin Zaman dilimini gosterir.”MDT” gibi
w Gunun degerini sayi olarak gosterir.”0″ pazardan “6″ cumartesiye kadar.
Y Yilin degerini 4 digit olarak gosterir.”1999″ gibi
y Yilin degerini 2 digit olarak gosterir.”99″ gibi
z Yil icinde gunun kacinci gunu oldugunu gosterir.”0″ dan “365″e kadar
Z Zaman diliminde saniye olarak otelemeyi gosterir.(-43200 den 43200)
Sitelerimizde gösterirken veya kaydederken Türkçe Karakterlerde sorunlar yaşarız ve bunları dönüştürmeye ihtiyaç duyarız. Çok kullanışlı bir fonksiyonla olan str_replace fonksiyonunla beraber kullanarak bir fonksiyon yazalım.
<?
function cevir($Str) {
$Str = str_replace("İ","İ",$Str);$Str = str_replace("ı","ı",$Str);
$Str = str_replace("Ö","Ö",$Str);$Str = str_replace("ö","ö",$Str);
$Str = str_replace("Ü","Ü",$Str);$Str = str_replace("ü","ü",$Str);
$Str = str_replace("Ç","Ç",$Str);$Str = str_replace("ç","ç",$Str);
$Str = str_replace("Ğ","Ğ",$Str);$Str = str_replace("ğ","ğ",$Str);
$Str = str_replace("Ş","Ş",$Str);$Str = str_replace("ş","ş",$Str);
return $Str;
}
//Kullanımı
$metin=cevir($metin);
?>
Merhaba arkadaşlar bugunki makalemde başka sitelerdeki bilgilere nasıl ulaşabiliriz ve onları nasıl veritabanımıza kaydettirriz. Bunun hakkında biraz soru geldi bende böyle bir makale yazmaya ihtiyaç duydum.
İlk olarak phpmyadmin ile bir data veritabanı olusturdum, daha sonra içinede 3 alanlı bir tablo yaptım . Tablo adı fikralar ve alanları sırasıyla id,f_baslik,f_fikra
id int olcak
diğerlerinin text yapamak yeterlidr.
Öncelikle MySql ile bağlantımızı oluşturacak ayar.php dosyamızı oluşturalım. Kodlarımızın yanına gerekli açıklamaları yazacağım.
$dbhost ="localhost";
$dbuser ="root";//kullanım adımda root
$dbpass ="123";//benim şifrem 123 olduğu için 123 yazıyorym
$dbadi ="data";//Burada phpmyadmin kısmından oluşturulan veri tabanının adı olacak
$baglanti=@mysql_connect($dbhost,$dbuser,$dbpass) or die("Veri tabanı ile bağlantı sağlanamıyor!");
mysql_select_db($dbadi,$baglanti) or die("Veri tabanına bağlanılamadı!");
Şimdi hosta ve veritabanımza bağlantımız sağlıklı bir şekilde gerçekleştiyse. Bot yazımına geçebiliriz. Aşagidaki php dosyasını bot_kayit.php olarak kayit ettim.
include("ayar.php");//Burası mysql ile bağlantıyı yapan kısımdır ayar.php den kodlarını ayarlayabilrisin.
$site=file_get_contents("http://siteadi.com"); // Buraya sitenin adını yaziyoruz
$baslikalan='#<div>(.*?)<\/div>#si';//Burası çekeceğimiz hangi aralık olacak siz isterseniz buraya title veya id'li bir div veya resim,video ne çekicek iseniz onun ilgili kısmını yaabilirsiniz. (.*?) bizim bu div içindeki bütün verileri almamızı sağlıyor.
preg_match($baslikalan,$site,$baslikfonksiyon);//Veriyi bölerek burdan istediğimizi çekiyoruz.
$fikraalan='#<div>(.*?)<\/div>#si';//Buralar aynı yuarı ile
preg_match($fikraalan,$site,$fikrafonksiyon);
$fikra=$fikrafonksiyon[1];//Bu çektigimiz veriler preg_match fonksiyonuyla bir diziye aktarılır bu yüzden dizidekileri bir degiskene aktariyoruz. Ve öyle kullanım kolay olucaktir.
$baslik=$baslikfonksiyon[1];
echo " $baslik </br> $fikra ";//Bunu göstermek veya göstermemek senin elinde. Verinin gelip gelmediğini kontrol ediyoruz.
$sorgu=mysql_query("SELECT * FROM fikralar WHERE f_baslik='$baslik'");//Burada daha önceden aynı fıkra adıyla kayıt olan varmı diye sorguluyoruz.
if(mysql_num_rows($sorgu)>0)//Eğer 0 dan büyükse önceden aynı fıkra adı ile kayıt olan var demektir.
{
echo "$baslik ile kayıtlı fıkra bulunmaktadır. Lütfen farklı fıkra adı giriniz.";
}
else
{
$sor=mysql_query("INSERT INTO fikralar(f_baslik,f_fikra) values('$f_baslik','$f_fikra')");//Kayıt yapan sorgu
if($sor)//Kayıt yapıldımı diye bakıyoruz
{
echo "Kayıt işlemi başarıyla gerçekleşti";
}
else
{
echo "HATA! Kayıt yapılamıyor..";
}
}
Yukarıda sadece sitedeki bir adresten bir tane içeriği çeker. Tabiki botun 1 tane için olması çok saçma gelebilir. Bunu geliştirmek çok kolaydır. Bir döngü ile eğer fıkralar sıralı bir şekilde geliyorsa,
Örneğin fikra1,fikra2 vs. şeklinde bunu bir döngü ile sürekli arttırarak bütün fıkraları çekebilir ve kaydedebiliriz.
Bu daha çok çok çok geliştirebilir.
Arkadaşlar elbetteki bu makale çok basit bir şekilde bot yapımını ve kaydetme işlemini anlatmış bulunmaktayım. Çünkü bu işin temelini size verebileyim ki siz de kendinizi geliştirme imkanı bulubalin. Sorularınızı yorumlar kısmından sorabilirisiniz.
WordPress’e hoş geldiniz. Bu sizin ilk yazınız. Bu yazıyı düzenleyin ya da silin. Sonra blog dünyasına adım atın!