İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Mysql veri kaydetme hatası

hernos

0
İyinet Üyesi
Katılım
11 Nisan 2013
Mesajlar
10
Reaction score
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
İyinet Üyesi
Katılım
14 Mayıs 2012
Mesajlar
12
Reaction score
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
İyinet Üyesi
Katılım
11 Nisan 2013
Mesajlar
10
Reaction score
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
İyinet Üyesi
Katılım
11 Nisan 2013
Mesajlar
10
Reaction score
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
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst