Yine Bir Mysql Sorusu

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    myblackworldweb
    myblackworldweb's avatar
    Kayıt Tarihi: 10/Mart/2008
    Erkek

    Arkadaşlar ben projemde arkadaşlık bölümü de olsun istiyorum

    bunun için bir tablo oluşturdum. kullanıcı id si ile arkadaş olunan kişinin id sini kaydediyorum.

    çekerken bir sorgu yapmam gerekiyor. Kullanıcımız bir başkasının profiline gittiğinde sorguyu çalıştırıp eğer veritabanında bu kişi ile ilgili bir bilgi eklenmiş ise siz arkadaşsınız yazdıracağım.

    eğer daha önce böyle bir kayıt yok ise yeni bir kayıt ekleteceğim. Mysql sorgumu veritabanından sorguladığımda pekala istediğim verileri getiriyor bana.

    Lakin şöyle bir sıkıntım var.  Veritabanında aşağıdaki gibi iki kayıt var.   iki kaydın da bulunması gerekiyor. zira bir kişi diğeriyle arkadaş olabilir ancak arkadaş olduğu kişi de onun profiline gittiğinde sorguda hata olmasın diye iki kaydında bulunması gerekiyor.

    İki kayıt birden listelendiği için sorgumda arkadasid yi çekerken hangisi olduğunu belirtmediğim için sorgu hata veriyor.

    Team den bağlanıp destek olabilecek biri olursa daha detaylı anlatabilirim .

     

    Sorgum şu :

    $arkadaskontrolu= $db->query("SELECT * from arkadasolundu WHERE kullaniciid='1' and arkadasid='2'  or kullaniciid='2' and arkadasid='1' order BY kullaniciid ASC", PDO::FETCH_ASSOC);

    if ( $arkadaskontrolu->rowCount()){

         foreach( $arkadaskontrolu as $row ){

    $arkadasid = $row['arkadasid'];

    $kullaniciid2 = $row['kullaniciid'];}} 


    ¯\(ツ)/¯ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wert
    wert's avatar
    Kayıt Tarihi: 19/Eylül/2005
    Erkek

    müdür anladığım kadarı ile veri tabanına eklerken her türlü iki kaydediyorsun bunda problem yok 

    profile gittiğin kişinin arkadaşım olup olmadıığıunı örenmek istesem 

    $arkadaskontrolu= $db->query("SELECT * from arkadasolundu WHERE kullaniciid='$benimid' and arkadasid='$profilsahibiid' ", PDO::FETCH_ASSOC);

    if ( $arkadaskontrolu->rowCount()){

     echo "siz arkadaşsınız";

    } else {

    echo "arkadaş olun";

    }

     

    kendi profilinde olan arakdaşları listeleyecesen

    $arkadaslar= $db->query("SELECT * from arkadasolundu WHERE kullaniciid='$benimid' ", PDO::FETCH_ASSOC);

    if ( $arkadaslar->rowCount()){

    echo "arkadaslarin";

     foreach($arkadaslar as $arkadas){

     

    echo "$arkadas['arkadasid']";

    }

    } esle {

    echo "yalnızsın müdür";

    }

     

     

     

    wert tarafından 29/May/17 23:46 tarihinde düzenlenmiştir

    |sadece aptalların başarısı ders notu ile ölçülür|
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    myblackworldweb
    myblackworldweb's avatar
    Kayıt Tarihi: 10/Mart/2008
    Erkek
    wert bunu yazdı

    müdür anladığım kadarı ile veri tabanına eklerken her türlü iki kaydediyorsun bunda problem yok 

    profile gittiğin kişinin arkadaşım olup olmadıığıunı örenmek istesem 

    $arkadaskontrolu= $db->query("SELECT * from arkadasolundu WHERE kullaniciid='$benimid' and arkadasid='$profilsahibiid' ", PDO::FETCH_ASSOC);

    if ( $arkadaskontrolu->rowCount()){

     echo "siz arkadaşsınız";

    } else {

    echo "arkadaş olun";

    }

     

    kendi profilinde olan arakdaşları listeleyecesen

    $arkadaslar= $db->query("SELECT * from arkadasolundu WHERE kullaniciid='$benimid' ", PDO::FETCH_ASSOC);

    if ( $arkadaslar->rowCount()){

    echo "arkadaslarin";

     foreach($arkadaslar as $arkadas){

     

    echo "$arkadas['arkadasid']";

    }

    } esle {

    echo "yalnızsın müdür";

    }

     

     

     

    hocam yemiyor hala arkadaş olun uyarısı geliyor.

    bir türlü siz arkadaşsınız dedittiremedim. Mysql Nuh diyor Peygamber demiyor. Nuh diyoorrr Peygamber demiyor arkadaş :D


    ¯\(ツ)/¯ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek
    $ExecutedQuery="SELECT * from arkadasolundu WHERE kullaniciid='$benimid' and arkadasid='$profilsahibiid' ";
    echo $ExecutedQuery;
    //Aldığın çıktıyı Mysql de çalıştır. Eğer bir cevap dönüyorsa buraya kadar okey.
    $Result=$db->query($ExecutedQuery,PDO::FETCH_ASSOC);
    if($Result->rowCount())
    {
    echo "siz arkadaşsınız";
    }else{
    echo "değilsin"
    }
    
    //Bu çıktılardan eğer cevap dönüyorsa ve hala else deki değilsin seçeneği dönüyorsa Hatayı kodda değil my.ini içeresinde ara timeout falan düşüyor olabilir çok data varsa vs. vs. (Emin değilim.)
     
    
    
    EDİT : Girdileri de kontrol et. $benimid ve $profilsahibiid değişkenlerin değerleri doğru mu geliyor ?

     

    MhmdAlmz tarafından 30/May/17 00:24 tarihinde düzenlenmiştir

    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Hocam tek kayıtla işi bitirebilirdin.

     

    select * from tablo where (kullaniciid = $deger1 and arkadasid = $deger2) or (kullaniciid = $deger2 and arkadasid = $deger1)

     

    işini çözerdi.


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    myblackworldweb
    myblackworldweb's avatar
    Kayıt Tarihi: 10/Mart/2008
    Erkek
    ontedi bunu yazdı

    Hocam tek kayıtla işi bitirebilirdin.

     

    select * from tablo where (kullaniciid = $deger1 and arkadasid = $deger2) or (kullaniciid = $deger2 and arkadasid = $deger1)

     

    işini çözerdi.

    sonunda öyle yaptık zaten hocam :D

    wert hocam team ile bağlandı yanlış yaptığım yeri değiştirip bir de sorgu mantığımı değiştirdi. sql injectiona önlem için.

    güzel de bir php dersi verdi sağolsun :D


    ¯\(ツ)/¯ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wert
    wert's avatar
    Kayıt Tarihi: 19/Eylül/2005
    Erkek
    ontedi bunu yazdı

    Hocam tek kayıtla işi bitirebilirdin.

     

    select * from tablo where (kullaniciid = $deger1 and arkadasid = $deger2) or (kullaniciid = $deger2 and arkadasid = $deger1)

     

    işini çözerdi.

    teamviewer yardımcı olmaya çalıştım 

    en son bu mantığa geldik :D


    |sadece aptalların başarısı ders notu ile ölçülür|
Toplam Hit: 1724 Toplam Mesaj: 7
mysql hata