• 15-01-2011, 20:12:23
    #1
    Üyeliği durduruldu
    Merhaba Arkadaşlar...
    Veritabanından firma_turu, 1 olan verileri listeletip... Seçili olan verinin bir sonraki ya da bir önceki veriye ulaşmak istiyorum... İnş.. derdimi anlatabilmişimdir... Kullandığım kod aşağıdaki gibi... Sorun şu firma_turu ,1 olan firmaların ya en son verisini çekiyor ya da ilk verisini çekiyor...

    mysql_query("SELECT * FROM firmalar WHERE firma_turu='1' and firma_id < '$firmaID' LIMIT 1");
    
    mysql_query("SELECT * FROM firmalar WHERE firma_turu='1' and firma_id > '$firmaID' LIMIT 1");
  • 15-01-2011, 20:34:07
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    acegen adlı üyeden alıntı: mesajı görüntüle
    Merhaba Arkadaşlar...
    Veritabanından firma_turu, 1 olan verileri listeletip... Seçili olan verinin bir sonraki ya da bir önceki veriye ulaşmak istiyorum... İnş.. derdimi anlatabilmişimdir... Kullandığım kod aşağıdaki gibi... Sorun şu firma_turu ,1 olan firmaların ya en son verisini çekiyor ya da ilk verisini çekiyor...

    mysql_query("SELECT * FROM firmalar WHERE firma_turu='1' and firma_id < '$firmaID' LIMIT 1");
    
    mysql_query("SELECT * FROM firmalar WHERE firma_turu='1' and firma_id > '$firmaID' LIMIT 1");
    id'ler sıralımı gidiyor yani auto increment mi ? eğer öylese var olan id-1 dersin eğer sonuç varsa onun bilgilerini getirirsin ama bunu kolayca yapan mysql fonk varsa bilemiyorum.
  • 15-01-2011, 20:43:08
    #3
    Üyeliği durduruldu
    AycanB, Arkadaşım alanım auto increment, ayrıca hangi id'den bahsediyorsun firma_id mi???
  • 16-01-2011, 16:05:34
    #4
    mysql_query("SELECT * FROM firmalar WHERE firma_turu='1' and firma_id='.$firmaID.'-1
    mysql_query("SELECT * FROM firmalar WHERE firma_turu='1' and firma_id='.$firmaID.'+1
  • 17-01-2011, 04:36:13
    #5
    Elumre adlı üyeden alıntı: mesajı görüntüle
    mysql_query("SELECT * FROM firmalar WHERE firma_turu='1' and firma_id='.$firmaID.'-1
    mysql_query("SELECT * FROM firmalar WHERE firma_turu='1' and firma_id='.$firmaID.'+1
    ya sonraki ve önceki id boşşa ?

    mysql_query("SELECT max(id) FROM firmalar WHERE firma_turu='1' and firma_id<'$firmaid'");
    mysql_query("SELECT min(id) FROM firmalar WHERE firma_turu='1' and firma_id>'$firmaid'");
  • 17-01-2011, 09:03:12
    #6
    Üyeliği durduruldu
    skipful adlı üyeden alıntı: mesajı görüntüle
    ya sonraki ve önceki id boşşa ?

    mysql_query("SELECT max(id) FROM firmalar WHERE firma_turu='1' and firma_id<'$firmaid'");
    mysql_query("SELECT min(id) FROM firmalar WHERE firma_turu='1' and firma_id>'$firmaid'");
    Eğer firma_id sütunu auto_increment ise null olmaz. Fakat firma_id sütunu siz dolduruyorsanız, MySQL sorgusuna şu ilaveyi yapabilirsiniz:

    mysql_query("SELECT max(id) FROM firmalar WHERE firma_turu='1' and firma_id<'$firmaid' AND firma_id IS NOT NULL");
    mysql_query("SELECT min(id) FROM firmalar WHERE firma_turu='1' and firma_id>'$firmaid' AND firma_id IS NOT NULL");
  • 17-01-2011, 15:20:51
    #7
    SametAras adlı üyeden alıntı: mesajı görüntüle
    Eğer firma_id sütunu auto_increment ise null olmaz. Fakat firma_id sütunu siz dolduruyorsanız, MySQL sorgusuna şu ilaveyi yapabilirsiniz:

    mysql_query("SELECT max(id) FROM firmalar WHERE firma_turu='1' and firma_id<'$firmaid' AND firma_id IS NOT NULL");
    mysql_query("SELECT min(id) FROM firmalar WHERE firma_turu='1' and firma_id>'$firmaid' AND firma_id IS NOT NULL");
    NULL girilen bir sutun olmayacagını düşünüyorum, olmayacagından devamı çok gereksiz sorgunun.

    mysql_query("SELECT firma_id FROM firmalar WHERE firma_turu='1' and firma_id<'$firmaid' order by firma_id desc");
    mysql_query("SELECT firma_id FROM firmalar WHERE firma_turu='1' and firma_id>'$firmaid' order by firma_id asc");
    gibi farklı yöntemlede çekilebilir.