• 24-03-2010, 20:29:10
    #1
    Üyeliği durduruldu
    arkadaşlar bir mysql sorgum var ve yazı id lerini alıyorum... 1,5,6,99,250 id lerindeki yazılar ban lazım tabi bunlar mysql sorgusu sonucunda oluşuyor... başka tablodada aynı yazı idlerini eklediğin kısmı var o kısmın bilgilerini alcağım...
    şu şekilde

    $cararas = @mysql_query("SELECT * FROM etiket where seolu='$et'"); // seolu etiket ile etiket id sini seçtim
    while($cars = @mysql_fetch_array($cararas)){$aziid=$cars[yaziid]; echo $aziid." ";} // yazı id sini aldım $aziid ile 3 4 6 9 10 şeklinde yazdırdım ekrana
    $sorgu = @mysql_query("Select * from faceindir where id='$aziid'");

    şeklinde yapınca sadece son id yi alıyor... ne yapmam lazım... hepsini almak için...

    ya gerisinde ne yapacağım...
  • 24-03-2010, 21:05:03
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    <?php
    while($cars = @mysql_fetch_array($cararas)){
      $aziid[] = $cars['yaziid']; //arraya at
      echo $cars['yaziid'].' ';
    } 
    $idler = implode(',',$aziid); //sql için düzenle(3,4,5,6) gibi
    $sorgu = @mysql_query('select * from faceindir where id in ('.$idler.')');
    ?>
  • 24-03-2010, 21:08:11
    #3
    while($cars = @mysql_fetch_array($cararas)){
        foreach($cars as $id) {
           mysql_query("Select * from faceindir where id='$id");
        }
    }
    arraydeki değerleri çevirir
  • 24-03-2010, 21:18:59
    #4
    Üyeliği durduruldu
    sağolasın başardım...
  • 24-03-2010, 23:02:44
    #5
    phptr adlı üyeden alıntı: mesajı görüntüle
    while($cars = @mysql_fetch_array($cararas)){
        foreach($cars as $id) {
           mysql_query("Select * from faceindir where id='$id");
        }
    }
    arraydeki değerleri çevirir
    Arkadaşım bu şekilde ki kullanım pek doğru değil, çünkü tek sorguda yapılabilecekken, burda 20 tane id dönse ilk sorgudan , 20 tane sorgu yapılır tekrar.
  • 26-05-2010, 13:58:08
    #6
    Üyeliği durduruldu
    şimdi bu sorun değişti istediğim gibi olmadı ...

    <?php 
    include('config.php');
    @header('Content-Type: text/html; charset=UTF-8');
    ?>
    		<div id="quotes-list">
    <?
    
    $videoici = mysql_query("SELECT * FROM puanlanlar order by o_hit desc");
    while ($okud = @mysql_fetch_array($videoici)) {$pid[]=$okud['o_id'];$hit[]=$okud['o_hit'];}
    $e_pid = @implode(',',$pid); //sql için düzenle(3,4,5,6) gibi 
    $e_hit = @implode(',',$hit); //sql için düzenle(3,4,5,6) gibi 
    
    echo $e_pid."-----".$e_hit."<br/><br/>";
    
    $sorgu = @mysql_query('select * from videolar where id in ('.$e_pid.') limit 10'); 
    while($oku=@mysql_fetch_array($sorgu))
    {echo ''.$oku['v_title'].' - '.$oku['id'].'<br/>';
    }?>
    </div>
    şeklinde kodum var

    çıktısı
    4699,3775,4703,4702,4700,4696,4697,4698,4701,1627-----2,1,1,1,1,1,1,1,1,1
    
    teomanın kırmızı noktalı klibi tvde yok - 1627
    VuNuKDB 05 chunk 2 - 3775
    08-Kur'an'ın Ayı Ramazan 02/03 - 4696
    VuNuKDB 08 chunk 2 - 4697
    VuNuKDB 08 chunk 3 - 4698
    Sg Premnitz/Rathenow EII- Busendorf Full 2009/201 - 4699
    Schoolgirl XMYloveuse, Lola s'éveille. - 4700
    Błędy marketingu -Targetowanie kampanii -Mobile.eu - 4701
    Bledy Reklamy - Wirtualna Polska WP.tv - 4702
    Bledy Marketingu i Reklamy w Polsce - odcinek 1 - 4703
    şeklinde ben "4699,3775,4703,4702,4700,4696,4697,4698,4701,1627 " burdaki sıraya göre listelemek istiyorum şekilde gördünüz gibi 1627,3775,4696... şeklined gidiyor... like REGEXP kullanımları yaptım başaramadım verdiğim sıraya göre...
  • 26-05-2010, 14:50:41
    #7
    Üyeliği durduruldu
    metadige adlı üyeden alıntı: mesajı görüntüle
    Arkadaşım bu şekilde ki kullanım pek doğru değil, çünkü tek sorguda yapılabilecekken, burda 20 tane id dönse ilk sorgudan , 20 tane sorgu yapılır tekrar.
    puanlanlar tablosu büyük ise bu kullanım daha doğru olacaktır. aksi durumda arkadaşın dediği gibi tek sorguda join ile halledilebilir.

    web_sakat adlı üyeden alıntı: mesajı görüntüle
    şimdi bu sorun değişti istediğim gibi olmadı ...

    <?php 
    include('config.php');
    @header('Content-Type: text/html; charset=UTF-8');
    ?>
            <div id="quotes-list">
    <?
    
    $videoici = mysql_query("SELECT * FROM puanlanlar order by o_hit desc");
    while ($okud = @mysql_fetch_array($videoici)) {$pid[]=$okud['o_id'];$hit[]=$okud['o_hit'];}
    $e_pid = @implode(',',$pid); //sql için düzenle(3,4,5,6) gibi 
    $e_hit = @implode(',',$hit); //sql için düzenle(3,4,5,6) gibi 
    
    echo $e_pid."-----".$e_hit."<br/><br/>";
    
    $sorgu = @mysql_query('select * from videolar where id in ('.$e_pid.') limit 10');
    $asd = array();
    while($oku=@mysql_fetch_array($sorgu))
    {echo ''.$oku['v_title'].' - '.$oku['id'].'<br/>';
    $asd[$oku['id']] = $oku;
    }
    
    foreach ($pid as $pid) {
     print_r ( $asd[$pid] );
    }
    ?>
    </div>
    şeklinde kodum var

    çıktısı
    4699,3775,4703,4702,4700,4696,4697,4698,4701,1627-----2,1,1,1,1,1,1,1,1,1
    
    teomanın kırmızı noktalı klibi tvde yok - 1627
    VuNuKDB 05 chunk 2 - 3775
    08-Kur'an'ın Ayı Ramazan 02/03 - 4696
    VuNuKDB 08 chunk 2 - 4697
    VuNuKDB 08 chunk 3 - 4698
    Sg Premnitz/Rathenow EII- Busendorf Full 2009/201 - 4699
    Schoolgirl XMYloveuse, Lola s'éveille. - 4700
    Błędy marketingu -Targetowanie kampanii -Mobile.eu - 4701
    Bledy Reklamy - Wirtualna Polska WP.tv - 4702
    Bledy Marketingu i Reklamy w Polsce - odcinek 1 - 4703
    şeklinde ben "4699,3775,4703,4702,4700,4696,4697,4698,4701,1627 " burdaki sıraya göre listelemek istiyorum şekilde gördünüz gibi 1627,3775,4696... şeklined gidiyor... like REGEXP kullanımları yaptım başaramadım verdiğim sıraya göre...
    diziye atarak yapabilirsin
  • 26-05-2010, 15:14:42
    #8
    Üyeliği durduruldu
    sağolun bu konuda bilgi verdiğiniz için ...