• 15-01-2013, 13:06:19
    #1
    php de bilgileri gösterip, silerken silme işlemi yaparken id'ye göre sildiriyor. Atıyorum 20 tane ID varsa sırayla 1 den 20 ye kadar buraya 25 girildiğinde böyle bir ID yok diye hata vermesi lazım. Bunu acil olarak yazabilir misiniz, nasıl yapılır?
  • 15-01-2013, 13:12:30
    #2
    Üyeliği durduruldu
    Örnek Olarak

    $sql = mysql_query("SELECT * FROM `tablo` WHERE `id` = '$id' ");
    
    if(mysql_num_rows($sql) > 1) {
    
        // İşlemler
    
    }else{
    
      echo "Böyle Bir Kayıt Yok Gibi";
    }
    Bu Şekil Bir Şey Yapabilirsiniz Hocam
  • 15-01-2013, 13:15:18
    #3
    $id = $_GET["id"];
    
    $sorgu = mysql_query("SELECT * FROM tablon WHERE id='".$id."'"); 
    if(mysql_num_rows($sorgu)>0){
       
       // işlemlerin kafana göre
    
    
    }else {
    
    echo "böyle bir kayıt yok hooooop :)";
    
    }

    al sana acil olarak yazdım
  • 15-01-2013, 13:24:04
    #4
    teşekkür ediyorum.

    $del = $_POST[id];
    
    $sayi = @mysql_num_rows(@mysql_query("select id from arabalar where id='$del'"));
    
    $sil = mysql_query("delete from arabalar where id='$del'");
    
    if($del < 1) 
    {
    echo "ID 1'den kucuk olamaz!";
    } 
    else if ($del > $sayi)
    { 
    echo "boyle bir ID bulunmuyor.";
    } 
    else 
    { 
    echo "basariyla silindi.";
    }
    
    
    if ($sil) {
        echo "Basariyla silindi"; }
    if (!$sil) {
       echo "Silinemedi"; }
    benim kodlar böyle çalışıyor sorgular fakat silinirken uyardıa "böyle bir id yok başarıyla silindi" diyor içerik gerçekten siliniyor. bunu nasıl çözerim
  • 15-01-2013, 13:38:55
    #5
    Update insert, delete ve replace komutları sonucunda kaç satırın etkilendiğini yani işlemin gerçekleşipğ gerçekleşmediğini mysql_affected_rows() fonksiyonu ile öğreniyoruz.

    Döngü ile silme komutu gönderip mysql_affected_rows ile etkilenen satır sayısına baktıracaksınız. Eğer etkilenen satır yoksa o id yoktur ve silinememiştir.
    Diyelim ki 5 tane id var silinecek ve bunlar bir dizi içinde

    $silinecek = array(2,3,4,5,10);
    for($i = 0; $i < count($silinecek); $i++){
    $sil = mysql_query("delete from arabalar where id = ".$silinecek[$i]);
    if(mysql_affected_rows() > 0){
    echo $silinecek[$i].' id\'sine sahip kayıt başarıyla silindi.';
    }else{
    echo $silinecek[$i].' id\'si ile bir kayıt bulunmamaktadır.';
    }
    }
    senin koda uygularsak

    $del = intval($_POST[id]); 
    
    //eğer değer birden küçükse mysql sorgusuna girme, 1 den büyükse silme komutunu gönder
    if($del < 1)  
    { 
    echo "ID 1'den kucuk olamaz!"; 
    }else{
    $sil = mysql_query("delete from arabalar where id='$del'"); 
    if (mysql_affected_rows() < 1) 
    {  
    echo "boyle bir ID bulunmuyor."; 
    }  
    else  
    {  
    echo "basariyla silindi."; 
    } 
    }
  • 15-01-2013, 16:44:40
    #6
    cevaplar için teşekkürler.