Php Otomatik Metin Tamamlama

Web sitelerinde arama kutularında otomatik metin tamamlama ile kullanıcılara öneriler sunan bu uygulama ile kullanıcılarınızın site içeriğinize daha kolay erişmesini sağlayabilirsiniz.

Uygulamamızı otoTamamla linkinden indirebilirsiniz. Önerilerimiz Mysql veritabanımızdan alınmaktadır. Bunun için öncelikle PhpMyAdmin aracılığı ile veritabanımızda “urunler” adında bir tablo oluşturup verilerimizi ekleyeceğiz. PhpMyAdmin’de Sql sekmesine tıklayıp aşağıdaki sql sorgusunu çalıştıralım.

Sql Sorgumuz:

CREATE TABLE IF NOT EXISTS `urunler` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin5 AUTO_INCREMENT=14 ;

INSERT INTO `urunler` (`id`, `name`) VALUES
(1, 'Nokia N70 Cep Telefonu'),
(2, 'Nokia C6 Cep Telefonu'),
(3, 'HTC Sensation'),
(4, 'LG X140 Netbook'),
(5, 'Apple iPad 3'),
(6, 'Samsung Galaxy S 2'),
(7, 'Samsung F480'),
(8, 'Canon EOS 550D'),
(9, 'Samsung Galaxy Ace'),
(10, 'Airteis RT-206 Modem'),
(11, 'HP Deskjet 2060'),
(12, 'Premier Dvd Player'),
(13, 'Powerway Mini Mp3 Player');

Bu işlemden sonra veritabanı bağlantımızı sağlamak için “baglan.php” dosyasındaki bilgileri düzenleyelim. Kodumuz aşağıdaki gibi. Veritabanı adınızı ve varsa şifrenizi yazın.

baglan.php dosyamızın içeriği:

<?php
$db_adi = ""; #Veritabanımızın Adı
$db_sunucu = "127.0.0.1"; #Sunucu Adı
$db_kulladi = "root"; #Sunucu Kullanıcı Adı
$db_sifre = ""; #Sunucu Kullanıcı Şifre

$veriyolu = mysql_connect($db_sunucu,$db_kulladi,$db_sifre);
if (! $veriyolu) die ("MySql Bağlantısı Sağlanamadı");
mysql_select_db($db_adi,$veriyolu) or die ("Veri Tabanı Bağlantısı Sağlanamadı");
?>

Veritabanımıza bağlanıp önerilerimizi aldığımız “oneri.php” dosyasının içeriği aşağıdaki gibidir. Dilerseniz tablo adını ve sorgulayacağınız alanı kendinize göre düzenyelebilirsiniz.

oneri.php dosyamızın içeriği:

<?php
header("Content-Type: text/html; charset=iso-8859-9");
include("baglan.php");
if(isset($_POST['queryString'])) {
$queryString = ltrim($_POST['queryString'], " ");
if(strlen($queryString) >0) {
echo '<ul>';
$query = mysql_query("SELECT * FROM urunler WHERE name LIKE '%$queryString%' LIMIT 10");
if($query) {
if(mysql_num_rows($query)>0) {
while($result=mysql_fetch_array($query)) {
echo '<a href="urun.php?id='.$result['id'].'"><li>'.$result['name'].'</div></li></a>';
}
}
} else {
echo 'OOPS...';
}
echo '</ul>';
} else {
//
}
} else {
echo 'OOPS...';
}
?>

Eğer bir yanlış yapmadıysanız arama kutusunda bastığınız her karakterden sonra ürün listemiz güncellenerek istediğiniz sonuçlar ekrana gelecektir. Uygulama çalışmıyorsa “baglan.php” dosyasında veritabanı adı, kullanıcı adı, sunucu adı ve şifre bilgileri hatalı girilmiş olabilir. Tekrar kontrol edin. Kolay gelsin.

“Php Otomatik Metin Tamamlama” üzerine 4 düşünce

  1. hocam çok teşekkür ederim çok işime yaradı bu script. internette yabancı sitelerde yer alan birçok benzer script denedim ancak istediğim sonucu alamadım. bir taraftan arama sonuçlarında çıkmasını bir taraftan da autocomplete özelliğinin çalışmasını istiyordum diğer bi çok scripti siteme entegre ederek denedim ama başaramadım. sizin scriptte ufak modifikasyonlar yaparak amacıma uygun hale getirdim sitemi. çok çok teşekkürler

  2. Merhabalar, Örneğiniz çok iyi ama facebooktaki gibi aşağı yukarı tuşları ile seçim yapıp enter ladıktan sonra seçileni inputa nasıl taşıyabiliriz. Yardımlarınız için ve yukarıdaki çalışmayı paylaştığınız için şimdiden şimdiden teşekkür ederim.

    Murat

    1. Javascript keypress olayını araştırırsanız bu konu hakkında fikir sahibi olabilirsiniz.

Bir Cevap Yazın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>