Php Karakter Sayısına Göre Koşullu Arama Yaptırmak
-
Arkadaşlar aşağıdaki örneğe benzer ( adı veritabanı olsun) bir veri tabanımız var diyelim ;
A sütunu : 3 karakterden oluşmakta
B Sütunu : 4 Karakterden oluşmakta
C Sütunu : 5 ve daha fazla karakterden oluşmakta.
a sütunu b sütunu c sütunu
aaa aaa4 elmalar
bbb 5678 armutlar
ccc ccc6 karpuzlar
İstenilen şey şu : İnputbox da karakter sayacak ve 3 karakter aratılırsa sadece a sütununda arama yapacak,
4 karakter aratılırsa sadece b sütununda arama yapacak
5 ve daha fazla karakter aratılırsa c sütununda arama yapacak
bunu nasıl yapabiliriz ?
-
Hocam strlen ile gelen karakter sayısını bulup ona göre bi değişken e sütun adını atayip denedin mi ?
-
coder2 bunu yazdı
Hocam strlen ile gelen karakter sayısını bulup ona göre bi değişken e sütun adını atayip denedin mi ?
hocam php hakkında fazla bir bilgim yok.
js ile
var degisgen= $("input[name=arama]").val(); if(degisgen.length>2){şeklinde sınırlama yaptırıyordum. 2 karakter aranmasını engellemek için.
Fakat sonrasını yapamadım açıkcası :)
-
Hocam bende suan mobil de yim deneme şansım yok ama sen bi dene asagidaki kodları olmazsa akşam bakarız beraber.
Aşağıdaki kodlarla gelen verinin karakter sayısını aldık ve kaç karakter se ona göre bir sutun adını değişken olarak aradık. Bundan sonrası zaten arama kodların da sütun bölümüne değişken i yazmak
$gelenarama = $_POST ["arama"]; if ( strlen($gelenarama)==3 ) { $aranacaksutun = "a"; } elseif (strlen($gelenarama)==4) { $aranacaksutun = "b"; } elseif (strlen($gelenarama)>=5) { $aranacaksutun = "c"; } elseif (strlen($gelenarama)<=2) { Echo "hata"; }
coder2 tarafından 06/Ara/15 13:31 tarihinde düzenlenmiştir -
coder2 bunu yazdı
Hocam bende suan mobil de yim deneme şansım yok ama sen bi dene asagidaki kodları olmazsa akşam bakarız beraber.
Aşağıdaki kodlarla gelen verinin karakter sayısını aldık ve kaç karakter se ona göre bir sutun adını değişken olarak aradık. Bundan sonrası zaten arama kodların da sütun bölümüne değişken i yazmak
$gelenarama = $_POST ["arama"]; if ( strlen($gelenarama)==3 ) { $aranacaksutun = "a"; } elseif (strlen($gelenarama)==4) { $aranacaksutun = "b"; } elseif (strlen($gelenarama)>=5) { $aranacaksutun = "c"; } elseif (strlen($gelenarama)<=2) { Echo "hata"; }Mantık Hatası yapmışım. Yazdığın biçime göre düzenledim ve oldu çok teşekkür ederim :)
-
Hangi şartlar altında çalışacak bu site onuda bilsek daha detaylı şeyler ortaya çıkartabiliriz.
Misal anlık 1000-2000 kişi arama yapıyor diyelim ben olsam o zaman şöyle yapardım
Karakter sayısına göre get veya post artık ne ise arama yönlendirmesini javascript + php ile yapardım(koşullandırmayı javascript ile cliente yığıp bi nebzede olsa kaynaktan kar etme amaçlı ). Javascript ile karakteri sayar ona göre /3harfliarama.php?s=aaa , /4harfliarama.php?s=aaaa şeklinde arama yapardım
Yok anlık çok fazla arama olmayacak sistemi yormayacak birşey diyorsan direk phpde hallederdim
<?php
switch (strlen($_GET['ara'])) {
case 3:
// 3 karakterli sorgu işlemleri
break;
case 4:
// 4 karakterli sorgu işlemleri
break;
case ($say < 3):
//3 karakterden az ise yapılacak işlem
break;
default:
//5 ve üstü karakter sayısında yapılacak işlem
break;
}
?>
gibi
-
Genki bunu yazdı
Hangi şartlar altında çalışacak bu site onuda bilsek daha detaylı şeyler ortaya çıkartabiliriz.
Misal anlık 1000-2000 kişi arama yapıyor diyelim ben olsam o zaman şöyle yapardım
Karakter sayısına göre get veya post artık ne ise arama yönlendirmesini javascript + php ile yapardım(koşullandırmayı javascript ile cliente yığıp bi nebzede olsa kaynaktan kar etme amaçlı ). Javascript ile karakteri sayar ona göre /3harfliarama.php?s=aaa , /4harfliarama.php?s=aaaa şeklinde arama yapardım
Yok anlık çok fazla arama olmayacak sistemi yormayacak birşey diyorsan direk phpde hallederdim
gibi
Anlık bi o kadar arama yapılacak. Bu kısmını bilmiyordum.
Fakat şuda var ki; aranan ne olursa olsun sonuç linki her zaman 4 lü eşdeğer kodu olarak dönecek ve hiç değirmeyecek. Ayrıca değişmemeli de :)
Örneğin 3 lü olarak aaa yı da aratsan yada 5 ve fazlasında elmalar'ı da aratsan link de aaa4 görünecek
Bu yüzden /3harfliarama.php?s=aaa /4harfliarama.php?s=aaaa şeklinde bir link değişimi işime gelmez. Fakat bunuda öğrenmiş oldum teşekkür ederim.
-
iLLuMiNaTi bunu yazdıGenki bunu yazdı
Hangi şartlar altında çalışacak bu site onuda bilsek daha detaylı şeyler ortaya çıkartabiliriz.
Misal anlık 1000-2000 kişi arama yapıyor diyelim ben olsam o zaman şöyle yapardım
Karakter sayısına göre get veya post artık ne ise arama yönlendirmesini javascript + php ile yapardım(koşullandırmayı javascript ile cliente yığıp bi nebzede olsa kaynaktan kar etme amaçlı ). Javascript ile karakteri sayar ona göre /3harfliarama.php?s=aaa , /4harfliarama.php?s=aaaa şeklinde arama yapardım
Yok anlık çok fazla arama olmayacak sistemi yormayacak birşey diyorsan direk phpde hallederdim
gibi
Anlık bi o kadar arama yapılacak. Bu kısmını bilmiyordum.
Fakat şuda var ki; aranan ne olursa olsun sonuç linki her zaman 4 lü eşdeğer kodu olarak dönecek ve hiç değirmeyecek. Ayrıca değişmemeli de :)
Örneğin 3 lü olarak aaa yı da aratsan yada 5 ve fazlasında elmalar'ı da aratsan link de aaa4 görünecek
Bu yüzden /3harfliarama.php?s=aaa /4harfliarama.php?s=aaaa şeklinde bir link değişimi işime gelmez. Fakat bunuda öğrenmiş oldum teşekkür ederim.
linklerin sonundaki s=aaa bir örneklendirmeydi hocam. Asıl önemli olan 3harfliarama.php dosyası zaten.
Jsfiddleda bi örneklendirme yapayım senin için
-
Genki bunu yazdıiLLuMiNaTi bunu yazdıGenki bunu yazdı
Hangi şartlar altında çalışacak bu site onuda bilsek daha detaylı şeyler ortaya çıkartabiliriz.
Misal anlık 1000-2000 kişi arama yapıyor diyelim ben olsam o zaman şöyle yapardım
Karakter sayısına göre get veya post artık ne ise arama yönlendirmesini javascript + php ile yapardım(koşullandırmayı javascript ile cliente yığıp bi nebzede olsa kaynaktan kar etme amaçlı ). Javascript ile karakteri sayar ona göre /3harfliarama.php?s=aaa , /4harfliarama.php?s=aaaa şeklinde arama yapardım
Yok anlık çok fazla arama olmayacak sistemi yormayacak birşey diyorsan direk phpde hallederdim
gibi
Anlık bi o kadar arama yapılacak. Bu kısmını bilmiyordum.
Fakat şuda var ki; aranan ne olursa olsun sonuç linki her zaman 4 lü eşdeğer kodu olarak dönecek ve hiç değirmeyecek. Ayrıca değişmemeli de :)
Örneğin 3 lü olarak aaa yı da aratsan yada 5 ve fazlasında elmalar'ı da aratsan link de aaa4 görünecek
Bu yüzden /3harfliarama.php?s=aaa /4harfliarama.php?s=aaaa şeklinde bir link değişimi işime gelmez. Fakat bunuda öğrenmiş oldum teşekkür ederim.
linklerin sonundaki s=aaa bir örneklendirmeydi hocam. Asıl önemli olan 3harfliarama.php dosyası zaten.
Jsfiddleda bi örneklendirme yapayım senin için
sonuc linkini html link gibi düşün değişmeyecek hocam. Hep aynı şeyi yazdıracak bu yüzden arama linki de değişmemeli.
Yani 3 harf 4 harf şeklinde farklı şeyler yazmamalı. /?arama=aaa4 kalıbında kalmalı hep.
teşekkür ederim ilgilendiğin için.
iLLuMiNaTi tarafından 06/Ara/15 13:57 tarihinde düzenlenmiştir
