057da882cd9af8a28a42b3faf8367fdd PHP DERSLERİ PHP DERSLERİ
mysql etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
mysql etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Php ile veritabanında arama yaptırmak [Mysql like]

Selam beyler bu derste, php ile mysql like'ı kullanarak veritabanında arama yaptıracağız... Aslında çok basit bir fonksiyon ama genede anlatmak istedim.

Öncelikle, veritabanı bağlantısını gerçekleştirelim:

PHP Kod:
<?php

$sunucu 
""//sunucu$kuladi ""//kullanıcı adı$sifre  ""//şifre$verit  "arama"//veritabanı
$baglan=mysql_connect($sunucu$kuladi$sifre) or die(mysql_error());mysql_select_db($verit$baglan) or die(mysql_error());
?>

bağlantıyı yaptıktan sonra arama isimli bir veritabanı oluşturun. 1 tablo ekleyin. 2 sütunu olsun. Şuradaki gibi:

Ardından 2 adet php dosyası oluşturun. arama.html ve ara.php.

arama.html içine yazlacaklar:
PHP Kod:
<form action="ara.php" method="post">
<
input type="text" name="arama"/>
<
input type="submit" value="ara"/>
</
form

ara.php içine yazılacaklar:
PHP Kod:
<?php
include("baglan.php"); //bağlantı dosyasını aldık.
@$arama=$_POST['arama']; //arama değişkenini post ile aldık.
if($arama==""){ //eğer arama boşsa...
header("Location:index.html"); //index.html'ye yönlendirsin.
} else { //boş değilse...
$bul=mysql_query("SELECT * FROM  arama WHERE kelime LIKE '%$arama%' icerik LIKE '%$arama%'"); //bul değişkeni ile veritabanında girilen değer var mı diye kontrol ettiriyoruz..while($getir=mysql_fetch_array($bul)){ //veritabanından verilerimizi while içinde alıyoruz.$kelime=$getir['kelime']; //kelimeyi aldık.$icerik=$getir['icerik']; //içeriği aldık.
echo("$kelime$icerik<br/>"); //yazdırdık...
}

}
?>

Şimdi index.html'ye gidip arama yaptığınızda örneğin: abc yazdık, içinde abc geçen tüm verileri yazdıracak.

Hepinize kolay gelsin.

Not: Veritabanına satır eklemeyi unutmayın!

php ve mysql türkçe karakter sorununa kesin çözüm! Devamı Oku: php ve mysql türkçe karakter sorununa kesin çözüm!

phpmyadmin e girip, işlemler -> Karşılaştırma -> utf8_unicode_ci seç
diğer bütün metin alanlarını da ( text ve varchar gibi) el ile utf8_unicode_ci seç.

dikkat: eskiden varolan veriler bozulabilir ama yeni eklediklerin düzgün çalışacaktır

bundan sonra sorun devam ederse yapacağın 2 şey kalıyor

mysql_select_db() fonksyonundan hemen sonra


Alıntı:
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET character_set_connection = 'UTF8'");
mysql_query("SET character_set_client = 'UTF8'");
mysql_query("SET character_set_results = 'UTF8'");
komutlarını YAPIŞTIR.

sonra yine devam ederse son adım olarak html de head taglarının içine
Alıntı:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
ekle


artık hiçbir sorun göremeyeceksin istersen kanji alfabesi kullan yine de düzgün görünecek : )