lostyazilim
tr.link

Detaylı Arama Bölümü İçin Çoklu Like Sorgusu Nasıl Yaptırabilirim?

10 Mesajlar 1.326 Okunma
acebozum
tr.link

stiltasarim stiltasarim Üni Hakkında - Üniversite Kullanıcı
  • Üyelik 06.04.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Bilgisayar Mühendisi - Öğrenci
  • Konum İstanbul Avrupa
  • Ad Soyad A** Ç**
  • Mesajlar 1370
  • Beğeniler 194 / 204
  • Ticaret 18, (%100)
Merhaba Hocalarım;

Bi detaylı arama bölümü oluşturmaya çalışıyorum. Bunun için çoklu like sorgusunu nasıl yapabilirim veya bu işi başka nasıl halledebilirim?
 

 

wmaraci
reklam

mxaksoy mxaksoy Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 23.03.2018
  • Yaş/Cinsiyet 29 / E
  • Meslek Webmaster
  • Konum İstanbul Avrupa
  • Ad Soyad M** A**
  • Mesajlar 1358
  • Beğeniler 482 / 344
  • Ticaret 3, (%100)
hocam if ile kontrol ettirin. Eğer get ile varsa birleştirme yapın yani:
sorgunun yarisi varsa and (... = '$deger') and şeklinde..
stiltasarim

kişi bu mesajı beğendi.

stiltasarim stiltasarim Üni Hakkında - Üniversite Kullanıcı
  • Üyelik 06.04.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Bilgisayar Mühendisi - Öğrenci
  • Konum İstanbul Avrupa
  • Ad Soyad A** Ç**
  • Mesajlar 1370
  • Beğeniler 194 / 204
  • Ticaret 18, (%100)
Hocam peki size bir sorum olacak. Sorgu içerisinde if kullanabilir miyim?
Mesela;

mysql_query("SELECT * FROM urunler WHERE if(isset($urun_fiyat)){ echo "urun_fiyati='$urun_fiyati' " } ");

gibi bir sorgu.
 

 

SefaCanDemir SefaCanDemir Front-End Developer Kullanıcı
  • Üyelik 10.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Front-End Developer
  • Konum Adana
  • Ad Soyad S** D**
  • Mesajlar 1345
  • Beğeniler 234 / 472
  • Ticaret 12, (%100)
ifi dışarda kullanıp ekleme yapsanıza hocam?


if(sart){
$degisken = "sorgu parçası";
}
else{
$degisken = "sorgu parçası 2";
}

$sorgu = "SORGU CÜMLESİ {$degisken}";

stiltasarim

kişi bu mesajı beğendi.

sefacandemir.com.tr
wmaraci
wmaraci

stiltasarim stiltasarim Üni Hakkında - Üniversite Kullanıcı
  • Üyelik 06.04.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Bilgisayar Mühendisi - Öğrenci
  • Konum İstanbul Avrupa
  • Ad Soyad A** Ç**
  • Mesajlar 1370
  • Beğeniler 194 / 204
  • Ticaret 18, (%100)
SefaCanDemir Hocam eğer $_POST ile gelen değişken dolu değil ise sorguya eklememek istiyorum.
 

 

VipTema VipTema Vip Tema Web Tasarım Kullanıcı
  • Üyelik 29.06.2011
  • Yaş/Cinsiyet 37 / E
  • Meslek Vip Tema Web Tasarım A.Ş.
  • Konum Tekirdağ
  • Ad Soyad Ö** I**
  • Mesajlar 1393
  • Beğeniler 704 / 703
  • Ticaret 21, (%100)
if($_POST['degisken']!=''){
//Sql cümlesi
}
Post edilen boşa esit degilse çalışır
stiltasarim

kişi bu mesajı beğendi.

WmOptimize WmOptimize Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 01.11.2015
  • Yaş/Cinsiyet 37 / E
  • Meslek WebProgramlama
  • Konum İstanbul Anadolu
  • Ad Soyad H** F**
  • Mesajlar 410
  • Beğeniler 151 / 174
  • Ticaret 3, (%100)
Hocam Select içinde Select kullanın. Yani diyelimki
İçerisinde "A" harfi olanları buldu. Bu tabloyu birdaha kullanmak için Bir select daha uygulayacaksınız.
 

 

OmerGunay OmerGunay https://omergunay.net Kullanıcı
  • Üyelik 15.05.2015
  • Yaş/Cinsiyet 33 / E
  • Meslek PHP Developer
  • Konum İstanbul Avrupa
  • Ad Soyad Ö** G**
  • Mesajlar 1207
  • Beğeniler 382 / 381
  • Ticaret 16, (%100)
stiltasarım
Hocam ben şu şekilde kullanıyorum sende kullanabilirsin.

select * from tablo_adi where sutun_adi like '%$value%' or sutun_adi like '%$value%' or sutun_adi like '%$value%' or sutun_adi like '%$value%'
 

 

Herkes yediğinden ikram eder..(Yavuz Sultan Selim)

SancarSaran SancarSaran WM Aracı Kullanıcı
  • Üyelik 14.01.2018
  • Yaş/Cinsiyet 52 / E
  • Meslek Programcı
  • Konum İzmir
  • Ad Soyad S** S**
  • Mesajlar 319
  • Beğeniler 4 / 111
  • Ticaret 0, (%0)
Temel olarak veriyorum, ihtiyacınıza göre değiştirebilirsiniz. Sql i böyle formatlıyorum ki. Debug ederken kolaylık olsun. içindeki parçaları kolayca söküp takayım.

Like ile search yapılacak sorgular çok fazla customize olmaz. yani x tablosu için tasarladığın y tablosu için tutmaz, parametize edemessin çok.


function ara($ara,$alanlar=[]) {
$sql = "\n";
$sql.= "SELECT * \n";
$sql.= " FROM tablo ";
$sql.= " WHERE 1 = 1 ";
if(count($alanlar)) {
foreach($alanlar as $a) {
$sql.= " OR ".$a." LIKE %".$ara." \n";
}
}
return $sql;
}

$sql = ara('ahmet',['ad','soyad','baba_adi']);
VipTema

kişi bu mesajı beğendi.

stiltasarim stiltasarim Üni Hakkında - Üniversite Kullanıcı
  • Üyelik 06.04.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Bilgisayar Mühendisi - Öğrenci
  • Konum İstanbul Avrupa
  • Ad Soyad A** Ç**
  • Mesajlar 1370
  • Beğeniler 194 / 204
  • Ticaret 18, (%100)

Okan_IŞIK adlı üyeden alıntı

if($_POST['degisken']!=''){
//Sql cümlesi
}
Post edilen boşa esit degilse çalışır


Hocam sadece 1 değişken olsa evet isset ile kontrol ettirir hallederim ama 10 tane değişken var. Ben bu 10 değişkenin dolu olanlarını kontrol ettirip, sorgulatmak istiyorum. Dert büyük :D
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al