![]() | |
| | #1 (permalink) |
| Üye Üyelik Tarihi: 09/2007
Mesaj: 3
|
iyi günler diliyorum herkese... Şöyle bi sorunum var. bir adet tablom var Alanlar adi varchar (20) soyadi varchar (20) sehir varchar (20) alan1 varchar (1) alan2 varchar (1) php den database e kayıt yapıyorum.. Kayıt aramaya gelince halledemedim.. Aramada da aynı alanlara göre arama yapılabilecek. yani giren kullanıcılar bu alanlardan isteğine bilgi girecek ve girilen alanlara göre arama yapılacak.. ben söyle bi yöntem geliştirtim. Hangi kutucuklara bilgi girilmiş ise ona göre bi cumle oluşturdum yani if ($adi!='') {$cumle=" adi=".$adi} if ($soyadi!='') {$cumle="And soyadi=".$soyadi} bu şekilde bütün alanları belirledim ve neticesinde hangi alanlara bilgi girişmişse ona göre bi cumle oluşturdum. Buraya kadar sorun yok Cumle oluşumu doğru olarak tamamlanıyor. Yani tüm alanlara bilgi girilse bile adi=cafer and soyadi=deneme and sehir=mersin and alan1=1 and alan2=1 şekline geliyor. ancak bu cumleyi sorguda kullandığımda hiç bir kayıt dönmüyor geri. sadece adı alanına bilgi girsem bile cevap gelmiyor. Sorgu cumlesiini söyle oluşturuyorum $sql = mysql_query(" select * from kayitlar where" .$cumle"); bu cümleyle boş dönüyor ancak bu cümle içine $sql = mysql_query(" select * from kayitlar where Adi='$adi'"); yazınca sorgudan uygun kayıtlar geliyor.. Acaba cumle değişkenini sorguya nasıl dahil ederim. Veya bir tablodan girilen bilgilerin alanlarına göre nasıl kayıt çekiliyor.. Yardımcı olursanız çok sevinirim... Bu arada $cumle değişkeninde adi=$adi yani adi='cafer' bilgisi olsa bile sorgulama olmuyor. Bu sorguyu ( Kullanıcının istediği alanlara veri girerek sorgulama yapması) nasıl çalıştırabilirim.. Çok zorlandım çözüm için... |
| | |
| | #2 (permalink) |
| Üye Üyelik Tarihi: 04/2006
Mesaj: 5
|
dikkatimi çeken bi hata var sanırım o yüzden sonuç dönmüyor olabilir. Şöyleki $cumle değişkenine veri atarken dikkatinden kaçmış snırım adi=$adi olarak atamısşın. sql de eger arattığın şey metin se bunu tırnak içinde vermelisin sayı olduğunda tırnak kullanman gerekmez. Ayrıca cumle değişkenine ekleme yaparken ilkini sildirmişsin. yani cumle değişkenine ekleme yapacağında .=$cumle şeklinde başlaman gerekir ve sql cümleciğini oluştururken de adi='$adi' şeklinde kullanman gerekir. |
| | |
| | #3 (permalink) |
| Üye Üyelik Tarihi: 09/2007
Mesaj: 3
|
Ben cümle oluşumunda sorun yaşamadım. $cumle değişkeni duruma göre doğru bir şekilde sonuçlanıyor. ekrana yazdırıyorum ve girdiğim alanlara göre $cumle değişkeni biçimleniyor. Yani adı ve soyadı alanlarına bilgi girildiğince Bu fonksiyona giren $cumle değişkeni adi=cafer and soyadi=deneme şekline geliyor. Eğer diğer alanlara da bilgi girince cümle ona göre uzuyor veya kısalıyor. Bu cümle değişkenini sorguya aldığımda $sql = mysql_query(" select * from kayitlar where" .$cumle"); yaptığımda Ekrana Select * from kayitlar where adi=cafer and soyadi=deneme yazıyor ama bu sorguya girince kayıtları döndürmüyor. Bende başka bi şekliyle cafer ve deneme kelimelerini özel olarak tek tırnak içine de aldırdım ozaman $cümle değişkeni adi='cafer' and soyadi='deneme' haline geliyor. Aynı cümleyi dinamik olarak yazınca sorgulama yapılıyor ama $cumle değişkenine alınca sorgulamıyor. kafayı yiycem nasıl iş bu anlayamadım... Sizler aynı tablodan isterik kayıtlar çekerken nasıl bi yöntem uyguluyorsunuz. Ben Borland delphi mantığıyla düşündüm ve aklıma başka bi çözüm gelmiyor.... |
| | |
| | #4 (permalink) |
| Üye Üyelik Tarihi: 09/2007
Mesaj: 3
|
<?php include ("baglan.php"); $adi=$_REQUEST['EAdi']; $soyadi=$_REQUEST['ESoyadi']; $memleket=$_REQUEST['Esehir']; $alan1=$_REQUEST['onay1']; $alan2=$_REQUEST['onay2']; $cumle=''; //************************************************** *** // kutucuklar işaretlenmiş mi yoksa işaretlenmemiş mi $alanı='' ise işaretlenemiş ve 0 değerini veriyoruz //************************************************** *** if ($alan1=='') { $alan1='0'; } if ($alan2=='') { $alan2='0'; } //************************************************** *** // kutucuk kontrolunun sonu... //************************************************** *** if ($adi!='') { $cumle=" adi = ".$adi; } if ($soyadi!='') { if ($cumle!='') { $cumle=$cumle." and soyadi=".$soyadi; } else $cumle=" soyadi=".$soyadi; } if ($memleket!='') { if ($cumle!='') { $cumle=$cumle." and sehir=".$memleket; } else $cumle=" sehir=".$memleket; } if ($alan1=='1') { if ($cumle!='') { $cumle=$cumle." and alan1=".$alan1; } if ($cumle=='') { $cumle="and alan1=".$alan1; } } if ($alan2=='1') { if ($cumle!='') { $cumle=$cumle." and alan2=".$alan2; } else $cumle="and alan2=".$alan2; } //************************************************** *** // buradan sonra Sorgulama işlemleri başlaması gerekiyor..... //************************************************** *** if ($cumle!='') { $cumle="Select * From Kayitlar Where ".$cumle; Echo $cumle; echo "<br>"; $sorgu = mysql_query($cumle); } Else { $sorgu = mysql_query(" Select * From Kayitlar"); } if(!$sorgu) { echo "Sorgunuz gerçekleştirilemedi"; exit; } if (mysql_num_rows($sorgu)=="0") { Echo "Listelenecek Uygun kayıt Bulunamadı..."; } else { while ($yaz=mysql_fetch_array($sorgu)) { //************************************************** *** // bulunan kayıtları listelemeye başla..... //************************************************** *** $aadi=$yaz['adi']; $ssoyadi=$yaz['soyadi']; $mmemleket=$yaz['sehir']; $aalan1=$yaz['alan1']; $aalan2=$yaz['alan2']; if ($aalan1!='0') {$aalan1='Evet'; } Else {$aalan1='Hayır'; } if ($aalan2!='0') {$aalan2='Evet'; } Else {$aalan2='Hayır'; } // kayıtlar Listeleniyor... Echo "<b>";Echo "Kullanıcı Adı :";Echo "</b>"; Echo $aadi."<br>"; echo "<b>";Echo "Kullanıcı soyadı :";echo "</b>"; Echo $ssoyadi."<br>"; Echo "<b>";Echo "Memleketi :";Echo "</b>"; Echo $mmemleket."<br>"; Echo "<b>";Echo "Parası Çok mu :";Echo "</b>";Echo $aalan1."<br>"; Echo "<b>";Echo "Ev Satın Alacak :";Echo "</b>";Echo $aalan2."<br>"; echo "--------------------";echo "<br>"; } Bu dosya da benim ara.php dosyam. tam komutlar buranın içinde.... Arama Kriterlerine hiç bi bilgi girmeden tüm kayıtları Listeliyor Ama kriter girince olmuyor.... |
| | |
| | #5 (permalink) |
| Üye Üyelik Tarihi: 04/2006
Mesaj: 5
|
$sql = mysql_query(" select * from kayitlar where" .$cumle"); bu kısmı bide şu şekilde denermisin $sql = mysql_query(" select * from kayitlar where " .$cumle.";"); tabi yine metinsel verileri tırnak içinde aratırsan iyi olur kanaatindeyim.. |
| | |
![]() |
| Bookmarks |
| Seçenekler | |
| |
Benzer Konular | ||||
| Konu | Konuyu açana göre | Forum | Cevap | En Son Mesaj |
| 3 tablodan aynı 2 veri | enginna | Veritabanları & SQL | 9 | 07/09/2007 01:20 |
| mysql ile aynı tablodan farlklı kriterlerde veri çekmek | termoni | Veritabanları & SQL | 0 | 22/06/2007 19:12 |
| 5 tablodan aynı anda silme | stripe1916 | Veritabanları & SQL | 10 | 15/10/2006 02:10 |
| aynı anda tek veya çok sorgulama yapabilmek... | rccinar | Veritabanları & SQL | 5 | 27/04/2005 00:06 |
| Aynı tablodan 4-5 basamak yukarı çıkarak kontrol etmek... | Scorpion | PHP | 10 | 01/06/2004 13:50 |
| Reklamlar & Desteklenenler | |
| Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv | |