lostyazilim
tr.link

PHP: Aynı anda birden fazla sütun içerisinde arama yapmak!

11 Mesajlar 2.346 Okunma
lstbozum
tr.link

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)
Hayırlı sabahlar...



if($_POST){
try {
$user_name= $_POST['query'];
$query = $connn->prepare('SELECT * FROM table_users WHERE user_name LIKE ?');
$query->execute(array('%'.$user_name.'%'));
while ($results = $query->fetch())
{
echo $results['user_name'];
}
} catch (PDOException $e) {
die($e->getMessage());
}
}
?>


Üsteki kod ile sadece user_name sütundaki değerler arasında arama yapılabiliyor.

Bunun yanına user_address, user_note, vs gibi sütunları da eklemek ve aramayı genişletmek için koda nasıl müdahale etmeliyiz?

Teşekkürler...
 

 

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.
wmaraci
reklam

batukay batukay WM Aracı Kullanıcı
  • Üyelik 12.06.2017
  • Yaş/Cinsiyet 24 / E
  • Meslek Öğrenci
  • Konum Erzurum
  • Ad Soyad B** K**
  • Mesajlar 1227
  • Beğeniler 328 / 327
  • Ticaret 22, (%100)
SQL sorgunusu "FROM table_users WHERE user_name LIKE ?,istek=? ,istek2=?" Şeklinde güncelleyip
Executenin içine de verileri , ile ayırıp dener misiniz?
BEYAZMASTER

kişi bu mesajı beğendi.

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)

batukay adlı üyeden alıntı

SQL sorgunusu "FROM table_users WHERE user_name LIKE ?,istek=? ,istek2=?" Şeklinde güncelleyip
Executenin içine de verileri , ile ayırıp dener misiniz?


Öncelikle cevabınız için teşekkür ederim.

Hem virgül koyarak hem de OR koyarak denedim fakat alttaki array satırında hatayı gideremediğim için işe yarayıp yaramadığı anlaşılamıyor.

Bu iki satıra paralel ve uyumlu müdahale etmek gerek...
 

 

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.

Weismann21 Weismann21 WM Aracı Kullanıcı
  • Üyelik 29.11.2017
  • Yaş/Cinsiyet 27 / E
  • Meslek Cross Platform Developer
  • Konum İstanbul Anadolu
  • Ad Soyad E** B**
  • Mesajlar 168
  • Beğeniler 12 / 47
  • Ticaret 0, (%0)
diğer tablo adı ve ikisni ilişkilendirdiğiniz id sutunun adı nedir hocam



veya join kavramlarını araştırın hocam daha yararlı olur
 

 

wmaraci
wmaraci

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)
BEYAZMASTER Tam olarak nasıl bişey yapıyorsunuz onu söyleyebilirseniz belki farklı bi yol vardır. Ama sizin şuanki mantıkta şöyle bi deneyebilir misin


$query = $connn->prepare('SELECT * FROM table_users WHERE user_name LIKE ? OR user_address LIKE ? OR user_note LIKE ?');
$query->execute(array('%'.$user_name.'%','%'.$user_address.'%','%'.$user_note.'%'));

BEYAZMASTER

kişi bu mesajı beğendi.

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

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)

Weismann21 adlı üyeden alıntı

diğer tablo adı ve ikisni ilişkilendirdiğiniz id sutunun adı nedir hocam

Tek tablo var hocam, teşekkür ederim çabanız için.
 

 

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)

ÖmerGünay adlı üyeden alıntı

BEYAZMASTER Tam olarak nasıl bişey yapıyorsunuz onu söyleyebilirseniz belki farklı bi yol vardır. Ama sizin şuanki mantıkta şöyle bi deneyebilir misin


$query = $connn->prepare('SELECT * FROM table_users WHERE user_name LIKE ? OR user_address LIKE ? OR user_note LIKE ?');
$query->execute(array('%'.$user_name.'%','%'.$user_address.'%','%'.$user_note.'%'));


Tabiki üstadım, tek yapmaya çalıştığım şey;
Arama inputuna yazılan değerleri tablo içinde aramak.
Şu an sadece user_name sütunu kullanarak arama yapabiliyorum ve sütunları çoğaltmaya çalışıyorum.
Hepsi bu kadar.

Üstadım kod için teşekkür ederim, şimdi deneyeceğim...
(Dün gece gördüm mesajınızı ama sonrasında elektrikler gitti ancak cevap yazabildim.)

Denedim çalışmadı ama sebebini anladım, yeni sütunları post kısmına da ekleyince çalıştı;

$user_name= $_POST['query'];
$user_address= $_POST['query'];
$user_note= $_POST['query'];


Tekrar teşekkür ederim.
OmerGunay

kişi bu mesajı beğendi.

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.

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)
BEYAZMASTER tek bir tane post varsa değişkenleri çoğaltmak yerine array içinde aynı değişkeni hepsine vermek daha mantıklı olabilir. Ama ikisi de doğru sonuç verir.
 

 

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

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)

ÖmerGünay adlı üyeden alıntı

BEYAZMASTER tek bir tane post varsa değişkenleri çoğaltmak yerine array içinde aynı değişkeni hepsine vermek daha mantıklı olabilir. Ama ikisi de doğru sonuç verir.

Örneklendirebilirseniz sevinirim üstad.
 

 

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.

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)
BEYAZMASTER



$query = $connn->prepare('SELECT * FROM table_users WHERE user_name LIKE ? OR user_address LIKE ? OR user_note LIKE ?');
$query->execute(array('%'.$user_name.'%','%'.$user_name.'%','%'.$user_name.'%'));


Hepsine $user_name dedim mesela. Post ederken de tek post ile yaptım.


$user_name= $_POST['query'];
BEYAZMASTER

kişi bu mesajı beğendi.

Herkes yediğinden ikram eder..(Yavuz Sultan Selim)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al