• 03-05-2009, 14:38:06
    #1
    $conn=mysql_connect($dbhost, $dbuser, $dbpass);
    mysql_select_db($dbname) or die ("Unable to connect to MySQL");
    $insert = mysql_query ("INSERT INTO oyun (id, adi, tarih, seo, hit, kategori, aciklama, resim, oyun, onay)
    VALUES('', '$ac', '$ZAM', '$seo', '1', 'Cocuk', '$ac', '$thumblink', '$oyuncuklink', 1)");
    if ($insert) { echo "<br>EKLENDI...<br>"; } else { echo "EKLENEMEDi... ".mysql_error(); }
    mysql_close($conn);

    arkadaşlar kod bu. ama aynı veriler tekrar girilebiliyor. ben istiyorumki veriyi kontrol etsin veritabanında kayıtlı değil ise bu veri önceden kaydedilmiş gibi bi uyarı versin istiyorum. Nasıl yapabilirim yada bilen arkadaşlar yapabilirmi?
    yardımcı olabilirmisiniz?
  • 03-05-2009, 14:41:42
    #2
    "SELECT id FROM oyun WHERE seo ='".$seo."'"
    sorgusu dolu deger döndürürse kayıt vardır aksi halde kayıt yoktur mantığıyla yapılabilir.
  • 03-05-2009, 14:46:08
    #3
    nasıl yapıcam onu :S bana zahmet olmazsa son halini verebilirmisin arkadaşım ?
  • 03-05-2009, 14:50:43
    #4
    Birinci yol seo fieldini unique yapabilir ve kayıt eklerken hata yakalamaya gidersin. Hata çıkarsa eklenemedi, hata çıkmadıysa eklendi dersin.


    İkinci yol @uysal_rockci'nin demiş olduğu yol

    "SELECT id FROM oyun WHERE seo ='".$seo."' limit 1"

    bu sql sorgusunu çalıştırır ve num_rows ile kayıt sayısına bakarsın.num_rows 1 ise kayıt vardır. 0 sa kayıt yoktur.

    vs...

    Kolay gelsin.
  • 03-05-2009, 14:51:03
    #5
    sefakavil adlı üyeden alıntı: mesajı görüntüle
    nasıl yapıcam onu :S bana zahmet olmazsa son halini verebilirmisin arkadaşım ?
    Bundan önce bazı gelişen olaylar neticesinde, direk kodları yazıp
    hazır bir yardım da bulunmama kararı aldım artık ( en azından ücretsiz)

    biraz araştırıp sonuca ulaşabilirsin ya da diğer arkadaşlar yardım eders zaten diğer yöntemlerle de.
    if - else ile kontrol ederek insert sorgunu gerçekleştirebilirsin.
    ya da seo alanını kestirmeden unique değere alabilirsin.
  • 03-05-2009, 14:52:52
    #6
    Üyeliği durduruldu
    uysal_rockci adlı üyeden alıntı: mesajı görüntüle
    Bundan önce bazı gelişen olaylar neticesinde, direk kodları yazıp
    hazır bir yardım da bulunmama kararı aldım artık ( en azından ücretsiz)
    bu yardımdan çok karşındaki kişiye zarar vermek oluyor bence zaten.
  • 03-05-2009, 14:55:30
    #7
    tamam arkadaşlar verdiğiniz bilgilere göre yapmaya çalışıcam saolun

    sizden kodların tamamını istememin sebebi mysql ve phpyi hiç bilmemem. basit şeleri yapıorum ama böyle şeyleri hiç yapamıyorum.
  • 03-05-2009, 14:55:56
    #8
    sefakavil adlı üyeden alıntı: mesajı görüntüle
    $conn=mysql_connect($dbhost, $dbuser, $dbpass);
    mysql_select_db($dbname) or die ("Unable to connect to MySQL");
    $insert = mysql_query ("INSERT INTO oyun (id, adi, tarih, seo, hit, kategori, aciklama, resim, oyun, onay)
    VALUES('', '$ac', '$ZAM', '$seo', '1', 'Cocuk', '$ac', '$thumblink', '$oyuncuklink', 1)");
    if ($insert) { echo "<br>EKLENDI...<br>"; } else { echo "EKLENEMEDi... ".mysql_error(); }
    mysql_close($conn);

    arkadaşlar kod bu. ama aynı veriler tekrar girilebiliyor. ben istiyorumki veriyi kontrol etsin veritabanında kayıtlı değil ise bu veri önceden kaydedilmiş gibi bi uyarı versin istiyorum. Nasıl yapabilirim yada bilen arkadaşlar yapabilirmi?
    yardımcı olabilirmisiniz?
    Aşağıdaki gibi kullanabilirsin arkadaşım


    $conn=mysql_connect($dbhost, $dbuser, $dbpass);
    mysql_select_db($dbname) or die ("Unable to connect to MySQL");
    
    function kontrol($sql) {
    $qr = mysql_query($sql);
    if (mysql_num_rows($qr)!=0) {
    return 1;
    }
    return 0;
    }
    if (kontrol("select * from oyun where oyun='$oyuncuklink'") == 0) {
    $sql = "insert into oyun (id, adi, tarih, seo, hit, kategori, aciklama, resim, oyun, onay) values('', '$ac', '$ZAM', '$seo', '1', 'Cocuk', '$ac', '$thumblink', '$oyuncuklink', 1)";
    mysql_query($sql);
    echo "Eklendi --> $ac<br>";
    } else {
    echo "Eklenmedi --> $ac<br>";
    }
    mysql_close($conn);
  • 03-05-2009, 15:07:58
    #9
    Kodlarda düzenleme yapılmıştır arkadaşım tekrardan kullanabilirsin