• 23-05-2021, 17:08:08
    #1
    "salonlar" tablosunda "salonHizmet" adında sütun mevcut "1%2%3%4" olarak

    $cek=$db->prepare('SELECT * FROM salonlar INNER JOIN hizmetler ON salonlar.salonlarHizmet = hizmetler.id  WHERE salonDurum=1');
    $cek->execute(array('id' => $_GET['id']));
    $scek=$cek->fetch(PDO::FETCH_ASSOC);
    $shizmet=explode('%',$scek['salonHizmet']);
    hizmetler başlığını yazdırmak istiyorum nasıl yapabilirim?

    echo $shizmet['hizmetAdi'] olarak yazdığımda hata alıyorum.

    hizmetler tablosunda id ve hizmetAdi mevcut explode ettiğim bir durum yok sadece salonlar tablosundaki salonlarHizmet sütununda explode ettim.
  • 23-05-2021, 17:15:11
    #2
    SELECT * FROM * yerine sutün adlarını tek tek yaz . ortak olan sutun adların başına ise hangi tablodan cekıyorsan onu ekle mesela

    tablo1.sutunadi gibi sonra sorgu calıstırmayı dene
  • 23-05-2021, 17:19:05
    #3
    okedoke adlı üyeden alıntı: mesajı görüntüle
    SELECT * FROM * yerine sutün adlarını tek tek yaz . ortak olan sutun adların başına ise hangi tablodan cekıyorsan onu ekle mesela

    tablo1.sutunadi gibi sonra sorgu calıstırmayı dene
    hocam burada ki sorunun parçaladığım için idleri birbirine denk getiremiyorum ama çözümünü bilmiyorum. * bunun ile ilgili bir sorun değil.

    parçaladığım sütunu sırayla 1,2,3,4 olarak çekiyorum fakat numaraları hizmetler tablosuna bağlayamıyorum. buradaki 1%2%^3%4% her bir sayı hizmetlerdeki bir sütuna eşit

    sorunu tam açıklayamadım sanırım dilimin döndüğünce yazmaya çalıştım
  • 23-05-2021, 17:30:16
    #4
    Öncelikle veritabanı tasarımınız çok zayıf bir sütuna birden fazla veri yazmak problem çıkartır ek bir tablo ile salonların hizmetlerini farklı bir tabloda tutmak daha sağlıklı olurdu
    Şimdiki durumunuzda ise bu şekilde birleştirme yapamazsınız önce salon verisini çekip çoklu veriyi parçalayıp herparça için ayrı sorgu yapmanız gerekli malesef şuanki yapınız isteğinizi karşılamıyor
  • 23-05-2021, 17:35:42
    #5
    chemochan adlı üyeden alıntı: mesajı görüntüle
    "salonlar" tablosunda "salonHizmet" adında sütun mevcut "1%2%3%4" olarak

    $cek=$db->prepare('SELECT * FROM salonlar INNER JOIN hizmetler ON salonlar.salonlarHizmet = hizmetler.id  WHERE salonDurum=1');
    $cek->execute(array('id' => $_GET['id']));
    $scek=$cek->fetch(PDO::FETCH_ASSOC);
    $shizmet=explode('%',$scek['salonHizmet']);
    hizmetler başlığını yazdırmak istiyorum nasıl yapabilirim?

    echo $shizmet['hizmetAdi'] olarak yazdığımda hata alıyorum.

    hizmetler tablosunda id ve hizmetAdi mevcut explode ettiğim bir durum yok sadece salonlar tablosundaki salonlarHizmet sütununda explode ettim.
    $shizmet=explode('%',$scek['salonHizmet'],$cek); bunu bir dener misin
  • 23-05-2021, 18:27:54
    #6
    Şuan hazır kodlar işine yazamaz ilk tablodan gelen 1%2%3 stringini diğer tablonun 1 vb int key ile karşılaştırıp veri almaya çalışıyor
  • 23-05-2021, 19:43:53
    #7
    WRaNGLeR adlı üyeden alıntı: mesajı görüntüle
    Şuan hazır kodlar işine yazamaz ilk tablodan gelen 1%2%3 stringini diğer tablonun 1 vb int key ile karşılaştırıp veri almaya çalışıyor
    dediğin şekilde hocam farklı bir tablo açarak hallettim ama bu bölümünü silmeyi düşünüyorum projenin
  • 23-05-2021, 19:49:07
    #8
    Eline sağlık en doğrusunu yapmışsın birde vakit ayırabilirsen veritabanı normalizasyon konusunu bir araştır büyük projelerde 3.5 nf ve üzeri kaliteli veri tutmaya yardımcı olur