Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Mysql veri kaydetme hatası

hernos

0
Onaylı Üye
Üye
Katılım
11 Nisan 2013
Mesajlar
10
Açılan Konu
2
Tepki puanı
0
S.a arkadaşlar ben exe tabanlı bir oyunum için rank sistemi hazırlayım dedim bunun için mysql kullanmak istedim ama bir sorunla karşılaştım.Elimde php kodu var oyuncuda gelen Skoru id'yi ve oyuncu ismini mysql tablosunun içine yazıyor ama ben oyundan her yeni skor gönderdiğimde yeni bir sutün daha ekliyor ama ben şöyle bir şey istiyorum oyuncunun adı Mehmet ise bu oyuncu 5 puan almış bunu mysql tablosuna aktarıyor ve oyuncu puanını 9 a çıkarttı diyelim mysqldaki skor 9 olsun istiyorum güncellesin ama benim ki onu yapmak yerine habire yeni bir tane açıyor haliyle Sıralama böyle oluyor.

1-Mehmet 9(yeni skor)
2-Mehmet 5(eski skor)

Bunu halletmenin bir yolu varmı ben hep üzerine yazsın istiyorum php kodu ise burda

PHP:
//aşağısı veritabanı bağlantısını içeririr
$conn=@mysql_connect($dbhost, $dbuser, $dbpass);
    if (!$conn) die ("skorlar tablosuna bağlanamadı.");
mysql_select_db($dbname, $conn) or die ("Veritabanı bulunamadı");
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET character_set_connection = 'UTF8'");
mysql_query("SET character_set_client = 'UTF8'");
mysql_query("SET character_set_results = 'UTF8'"); 
?>


<?php
// verileri alalım.
if ($_GET)//eğer veri get methodu ile yollandıysa
{
$isim=$_GET['isim'];//isimi aldık
$skor=$_GET['skor'];//skoru aldık
echo"<div style='float:left;'>Merhaba $isim bize gelen skorun $skor</div>";//ekrana yazdırdık

if ($isim=="")//eğer isim yeri boş ise
{echo"<br /><br /><div style='color:red;background-color:black;font-weight:bold;float:left;'>
kaçak bir giriş yaptın bu sebeple işlem devam etmiyor.
<br /> Lütfen oyunu kurallarına göre oyna.</div>";}
else//eğer isim boş değilse
{
$ekle = mysql_query ("insert into skorlar  (isim,skor) values ('$isim','$skor')");
if ($ekle) {echo"<br />
<div style='float:left;background-color:green;font-weight:bold;'>
skorun eklendi</div>";} else {echo"skorunuz eklenemedi.Yolunda gitmeyen birşeyler var.";}

}

}

echo"<br /><br />";//arada boşluk bırakalım
//şimdi ise burda skorları çekelim mesela en yüksek 3 skoru alalım.
            $sorgu=mysql_query("SELECT * FROM skorlar ORDER BY skor desc LIMIT 3");
            // desc ile büyükten küçüğe sıraladık limit 3 ile sadece 3 tanesini çektirdik skorlar tablomuzdaki verileri
while($cek=mysql_fetch_array($sorgu))
{//verileri mysql dan aldık
$puan=$cek['skor'];
$kim=$cek['isim'];
$id=$cek['id'];
echo"[ $kim bu oyunda $puan almış ve skor id si $id]<br />";
}
?>
 

luxerox

0
Onaylı Üye
Üye
Katılım
14 Mayıs 2012
Mesajlar
12
Açılan Konu
4
Tepki puanı
0
hocam ismi aldık boş geldiyse hata yazdırıyorsun eger dolu geldiyse veritabanına eklemeden önce bu isim vtde varmı sorgulaman lazım ona göre ekleme yaptırcaz yani

$sor =mysql_query("select isim from skorlar where isim='isim'");
while($yaz=mysql_fetch_array($sor))
$dbisim = $yaz['isim'];

gelen isim dbisime eşleşiyorsa guncellemesini yap dicez
$guncelle= mysql_query("update skorlar set isim='$dbisim', skor='$skor' where isim='$dbisim'");

guncellemeyide ismi dbdeki isme eşit olan kullanıcıyı guncelle diye yaptım işine yarar inş
 

hernos

0
Onaylı Üye
Üye
Katılım
11 Nisan 2013
Mesajlar
10
Açılan Konu
2
Tepki puanı
0
hocam ismi aldık boş geldiyse hata yazdırıyorsun eger dolu geldiyse veritabanına eklemeden önce bu isim vtde varmı sorgulaman lazım ona göre ekleme yaptırcaz yani

$sor =mysql_query("select isim from skorlar where isim='isim'");
while($yaz=mysql_fetch_array($sor))
$dbisim = $yaz['isim'];

gelen isim dbisime eşleşiyorsa guncellemesini yap dicez
$guncelle= mysql_query("update skorlar set isim='$dbisim', skor='$skor' where isim='$dbisim'");

guncellemeyide ismi dbdeki isme eşit olan kullanıcıyı guncelle diye yaptım işine yarar inş

Hocam ben yapamadım bana özel mesajla ulaşırmısınız size team viewer versem ?
 

hernos

0
Onaylı Üye
Üye
Katılım
11 Nisan 2013
Mesajlar
10
Açılan Konu
2
Tepki puanı
0
hocam ismi aldık boş geldiyse hata yazdırıyorsun eger dolu geldiyse veritabanına eklemeden önce bu isim vtde varmı sorgulaman lazım ona göre ekleme yaptırcaz yani

$sor =mysql_query("select isim from skorlar where isim='isim'");
while($yaz=mysql_fetch_array($sor))
$dbisim = $yaz['isim'];

gelen isim dbisime eşleşiyorsa guncellemesini yap dicez
$guncelle= mysql_query("update skorlar set isim='$dbisim', skor='$skor' where isim='$dbisim'");

guncellemeyide ismi dbdeki isme eşit olan kullanıcıyı guncelle diye yaptım işine yarar inş


Hocam çok acil
 
Üst