• 19-12-2010, 01:29:07
    #1
    Öncelikle Herkese İyi Akşamlar
    Sitemde İlan Kayıt Sayfasında özellik bölümü var buradan satmak istediğiniz şeyin özellikleri seçiliyor bunu checkbox la yapmıştım
    ama bu özellikler kategoriye göre değişsin istedim
    WHERE kat_id= $ilan_kategori
    şeklinde ayarladım o kategoriye bağlı olan özellikleri çekiyor işaretliyorum ama mysql e sadece ilkini aktarıyor
    şu şekilde yaptığım zaman
    WHERE kat_id= 2
    2. kategoriye bağlı olan özellikleri listelerip hepsini mysqle atabiliyor 5 saattir buna uğraşıyorum kafayı yemek üzereyim
    2. kategoriyi seçip yaptığında aynı şeyleri listeliyorda neden mysql e sadece ilkini atıyor.
    Yardımcı Olan Arkadaşlara Şimdiden Teşekkürler

    --------------------EKLEME-------------

    Veri Tabanı Yapım
    CREATE TABLE IF NOT EXISTS `ozellik` (
      `id` int(11) NOT NULL auto_increment,
      `kat_id` varchar(5) NOT NULL,
      `adi` varchar(150) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin5 AUTO_INCREMENT=5 ;
    
    --
    -- Tablo döküm verisi `ozellik`
    --
    
    INSERT INTO `ozellik` (`id`, `kat_id`, `adi`) VALUES
    (1, '1', 'Kapalı Garaj'),
    (2, '2', 'Güvenlik'),
    (3, '2', 'Yangın Merdiveni'),
    (4, '1', 'Asansör');
    yeni_ilan.php Kodlarım
    <?php
    $oz=mysql_query("select * from ozellik" WHERE kat_id= $ilan_kategori ,$con);
    $ozr=mysql_fetch_assoc($oz);
    $o=1;
    do{
    $o++;
    echo '<td><input type="checkbox" name="'.$ozr['id'].'" value="'.$ozr['id'].'" />'.$ozr['adi'].'</td>';
    if(!($o % 3)) { echo '</tr><tr>'; }
    }while($ozr=mysql_fetch_assoc($oz));
    ?>
    ilan_kaydet.php Kodlarım
    $oa=mysql_query("select * from ozellik",$con);
    $os=mysql_num_rows($oa);
    
    for ($o=0;$o<$os;$o++)
    {
    if($_POST[$o]) { $iOzellik.='#'.$_POST[$o]; }
    }
  • 19-12-2010, 01:31:15
    #2
    Hiçbirşey anlamadım dediklerinizden.
  • 19-12-2010, 11:43:16
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Yanlış SQL cümlesi kuruyorsunuz da ondan. Şu şekilde olmalı:
    WHERE kat_id IN (1, 2, 5, 3, 6)
  • 19-12-2010, 12:45:56
    #4
    grafitus adlı üyeden alıntı: mesajı görüntüle
    Yanlış SQL cümlesi kuruyorsunuz da ondan. Şu şekilde olmalı:
    WHERE kat_id IN (1, 2, 5, 3, 6)
    hocam kategori seçildiği zaman url ye ilan_kategori=2 diye get bırakıyor
    bende kat_id=$ilan_kategori diye o yüzden yazdım sizin verdiğiniz kod hepsini listeliyor ama ben sadece seçilen kategoriden özellik seçilsin istiyorum
  • 19-12-2010, 12:58:03
    #5
    Cycl0ne adlı üyeden alıntı: mesajı görüntüle
    Hiçbirşey anlamadım dediklerinizden.
  • 19-12-2010, 13:35:24
    #6
    grafitus adlı üyeden alıntı: mesajı görüntüle


    Hocam
     WHERE kat_id = $ilan_kategori
    dediğim zaman 2 nou kategoriyi seçtiğimde kat_id si 2 olanları listeliyor ama gönder dediğimde sadece ilkini gönderiyor

    WHERE kat_id = 2
    dediğimde kod sorunsuz çalışıyor bende burayı anlamadım ikisi arasında ne fark var da böyle oluyor
  • 19-12-2010, 15:00:49
    #7
    Üyeliği durduruldu
    Şu var fark; "$ilan-kategori" bu şekilde dğişken kullanamazsın php'de $ilan_kategori olarak değiştir değişkenini öyle dene bakalım
  • 19-12-2010, 16:02:03
    #8
    MrHades adlı üyeden alıntı: mesajı görüntüle
    Şu var fark; "$ilan-kategori" bu şekilde dğişken kullanamazsın php'de $ilan_kategori olarak değiştir değişkenini öyle dene bakalım
    hocam orası zaten öyle idi.ben yanlış yazmışım hemde kategoriyi görüp ona bağlı olanları çekiyor ama sorun sadece aktarmaktailan_kaydet.php ye gönderip mysql e aktarırken sadece birini atıyor
  • 19-12-2010, 18:09:03
    #9
    Elumre adlı üyeden alıntı: mesajı görüntüle
    hocam orası zaten öyle idi.ben yanlış yazmışım hemde kategoriyi görüp ona bağlı olanları çekiyor ama sorun sadece aktarmaktailan_kaydet.php ye gönderip mysql e aktarırken sadece birini atıyor
    şuraya veri tabanı yapını yazsanda kodlarıda yazsan düzgün düzgün sorunu yazsan bizde ona göre cevap verebilsek. bu böyle niye olmuyo olmasan sende.