İ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 />";
}
?>
 

amatorcoder

0
İyinet Üyesi
Katılım
12 Nisan 2013
Mesajlar
30
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 />";
}
?>


Yanlış anlamadıysam aşağıdaki kodlar işini görür.
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 
{ 
$kontrol = mysql_query("SELECT isim FROM skorlar WHERE `isim` = $isim");
$bak = mysql_num_rows($kontrol);
if ($bak) {
$sorgi = "UPDATE skorlar SET skor = '$skor' WHERE `isim` = '$isim'";
mysql_query($sorgi);
echo "Skor eklendi";
} else {
$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 />"; 
} 
?>
 

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