• 08-02-2009, 03:20:41
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Php delete duplicated entries (ing. yazalım google de faydası olsun )

    Merhaba arkadaşlar,

    <?php
    
    $query = "SELECT ver,prog, min(pid), max(pid) FROM progs GROUP BY prog, ver";      
    
    $result = mysql_query($query) or die(mysql_error());
    
    while($row = mysql_fetch_array($result)){
    
    if($row['max(pid)'] != $row['min(pid)']){
    
        echo $row['prog']. " --- ".$row['ver']." --- ". $row['min(pid)']." --- ". $row['max(pid)'];
    
        echo "<br />";
    
    }
    
    }
    
    ?>
    Bu kod ile prog adı eşleşen verileri listeliyorum ancak

    altında veya $row['max(pid) üstünde fonksiyon olarak fark etmez,

    eşleşen veriden pid idsi büyük olanı silmek istiyorum nasıl delete sorgusu eklemeliyim ?
  • 08-02-2009, 04:00:50
    #2
    Üyeliği durduruldu
    delete duplicate rows mysql - Google-Suche

    seklinde arayinca baya bisey cikti.. kisa bi incelersen cözüme ulasabilirsin..
  • 08-02-2009, 12:59:17
    #3
    o veriler yukarda verdiğim tipe göre uyumlu değiller geneline baktım zaten
  • 08-02-2009, 13:55:45
    #4
    teknobeta adlı üyeden alıntı: mesajı görüntüle
    Php delete duplicated entries (ing. yazalım google de faydası olsun )
    Merhaba arkadaşlar,
    <?php
    $query = "SELECT ver,prog, min(pid), max(pid) FROM progs GROUP BY prog, ver";      
    $result = mysql_query($query) or die(mysql_error());
    while($row = mysql_fetch_array($result)){
    if($row['max(pid)'] != $row['min(pid)']){
        echo $row['prog']. " --- ".$row['ver']." --- ". $row['min(pid)']." --- ". $row['max(pid)'];
        echo "<br />";
    }
    }
    ?>
    Bu kod ile prog adı eşleşen verileri listeliyorum ancak
    altında veya $row['max(pid) üstünde fonksiyon olarak fark etmez,
    eşleşen veriden pid idsi büyük olanı silmek istiyorum nasıl delete sorgusu eklemeliyim ?
    Deneme şansım olmadı, deneyip sonucu yazar mısın;
    <?
    $show=mysql_query("DELETE FROM progs where pid in(SELECT max(pid) FROM `progs` group by prog having count(prog)>=0)");
    ?>
  • 08-02-2009, 17:09:23
    #5
    çalışmadı maalesef, iki aynı başlık ve versiyonu girmeyi engelledim şimdi, bana şimdi veri girme döngüsünde prog varsa girmeyip döngüyü durdurmadan sonrakine geçsin istiyorum

    // Sayfadaki verileri girmek için yapilan döngüleme islemi
    $i=0;        //baslangiç degerini belirledik
    while ($i<$veri)   // Yani döngü buraya kadar çalisacak.
    {
    
    // Database girisi için olusturulan giris sorgusu
    
    mysql_query("insert into ....')") or die (mysql_error());
    
    BURAYA if ile DAHA ÖNCE AYNI İSİMDE VERİ GİRİLMİŞ İSE DÖNGÜ DURMADAN BİR SONRAKİ İŞLEME GEÇSİN İSTİYORUM
    
    $i++;   
    }
    Yukarda çalışmauan silme çalışırsada işimi görürde ben işi girişte bitirebilirsem onu dah kısa yapmış olurum
  • 08-02-2009, 19:00:26
    #6
    Üyeliği durduruldu
    macchess adlı üyeden alıntı: mesajı görüntüle
    Deneme şansım olmadı, deneyip sonucu yazar mısın;
    <?
    $show=mysql_query("DELETE FROM progs where pid in(SELECT max(pid) FROM `progs` group by prog having count(prog)>=0)");
    ?>
    yine döktürmüşsün
  • 08-02-2009, 19:46:40
    #7
    o kod çalışmadı yukardaki 2. açıklamaya uyan bir kod bilen varsa yazarsa seviniriz