Merhaba arkadaşlar,
Mysql tablomda sayfa_kategori adında bir alanım var. Burada sayfa kategori id'lerini 10,25,33,40, şeklinde tutuyorum. Şöyle birşey yapmak istiyorum. Örneğin 25 nolu id'yi get ile sorgulayıp böyle bir id varmı yokmu bakmalıyım. LIKE ile arattığımda çalışıyor fakat 2525 gibi bir veri olduğunda da buluyor. IN() ile yaptığımda sadece ilk baştaki id'yi yani 25 nolu id'yi bulabiliyorum. Bu konuda yardımınıza ihtiyacım var.
Teşekkürler.
Mysql Query
12
●684
- 08-04-2016, 10:13:47select ID From sayfa_kategori where ID='25'
//Bu sorguyu bir değişkene atın örnek "kontrol"
if (kontrol == NULL || kontrol == "") //
else ///
if'e girerse yok, else girerse var gibi bir olay - 08-04-2016, 10:14:39Bu arada şu konuyu atlamışım bunu sql ortamındamı yapmak istediğiniz, benim yöntem bir program ile gerçekleşmektedir.
- 08-04-2016, 10:18:43
$sth = $pdo->prepare('SELECT * FROM tablo WHERE id=?'); $sth->execute(array(6)); $post = $sth->fetch(); if (empty($post)) { echo 'Gönderi yok'; } else { echo $post['baslik']; }PHP için böyle, farklı programlama dillerinde SQL sonucunu döndürdüğünüz değişkenin ne döndürdüğünü kontrol ederek verinin varlığını kontrol edebilirsiniz. - 08-04-2016, 10:46:47SELECT ile veriyi seçmiyor. sayfa_kategori alanımda veriler tek değil 10,25,36, gibi sonu virgüllü biten veriler. Aşağıda örneğini yazıyorum. Örneğin ben 25 rakamını sorgulamak istiyorum.Aktifhosting adlı üyeden alıntı: mesajı görüntüle
+--------+--------+
| sayfa_kategori |
+--------+--------+
|10,25,65,62, |
|98,62,25,36, |
+--------+--------+
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 10:46:47 -->-> Daha önceki mesaj 10:37:03 --
Cevap için teşekkürler. Sorgum aşağıdaki gibi. Verdiğiniz örnekteki execute içerisindeki array mantığını anlayamadım.yidemir adlı üyeden alıntı: mesajı görüntüle
+--------+--------+
| sayfa_kategori |
+--------+--------+
|10,25,65,62, |
|98,62,25,36, |
+--------+--------+
function kategoriyeAitSayfalar($id) { global $db; $sayfaKategoriListele = $db->prepare("SELECT * FROM panel_sayfalar WHERE sayfa_kategori=$id "); $sayfaKategoriListele->execute(); $sayfaKategoriListeleSonuc = $sayfaKategoriListele->get_result(); return $sayfaKategoriListeleSonuc; } - 08-04-2016, 10:55:18O zaman ID kolonunundaki değerleri split edip bir diziye atayın, daha sonra o dizi elemanlarında aradığınız değerin olup olmadığı kontrol edin.
Bunu bir döngü ile yapabilirsiniz. - 08-04-2016, 11:02:52Bu mantığı denedim aslında. İlk önce tüm sayfa_kategori altındaki verilerin virgüllerini preg_split temizleyip listeledim. Aradığım id değerini bulup bu id değeri array içerisinde varmı sonucunu true döndürebiliyorum. Fakat şurada takıldım. Bu dönen sorgunun hangi sütünda olduğunu görüp while döngüsü ile o sütünları listeletemedim.Aktifhosting adlı üyeden alıntı: mesajı görüntüle