Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: matusalem666 en 22 Septiembre 2012, 17:07 pm



Título: Highscore Online con PHP MySQL Update solo puntuacion
Publicado por: matusalem666 en 22 Septiembre 2012, 17:07 pm
Hola amigos,tengo este pequeño problema,puede que aqui me puedan ayudar.

Hize un juego,como muchos que hay por internet y este tiene un highscore.
En este caso,las puntuaciones de los jugadores se guardan,junto con el nombre.

Todo funciona bien,pero el problema es el siguiente,si un jugador pone su nombre,pongamos Mario y tiene 1280 puntos,si luego el vuelve a jugar y vuelve a poner Mario y tiene 1400 puntos,lo que hace es añadir otra tabla a la base de datos,pero no lo actualiza la anterior,lo que consigue con esto es ver,por ejemplo en la lista de puntuaciones de juego,muchos tios que se llaman Mario con distintas puntuaciones.  :-(

Lo que me gustaria es que,si el jugador vuelve a poner el nombre Mario,se actualizaria solo la puntuacion de ese Mario sin insertar mas tablas a la base de datos.

Este es el php que uso para coger las puntuaciones y enviarlas a MySQL:

Código:
<?php

$database = "base_datos"; //The database
$username = "nombre"; //username to connect
$password = "pasworld"; //password to connect
$host = "host_base_de_datos"; //host to connect to

function connect($d,$u,$p,$h) {
        mysql_connect($h,$u,$p);
        mysql_select_db($d);
}

connect($database,$username,$password,$host);

$name = $_GET["name"];
$score = $_GET["score"];
$code = $_GET["code"];
$game = $_GET["game"];

if($code == "key_game") {

        mysql_query("INSERT INTO highscores(ID_GAME,name,score)
        VALUES('".mysql_escape_string($game)."','".mysql_escape_string($name)."','".mysql_escape_string($score)."')");

}
else {
echo "Error no funciono!";
}

?>

Como se puede ver inserta los datos de ID_game, name y score a la base de datos.
¿como podria actualizar las puntuaciones si el nombre ya esta en la base de datos?
saludos espero una respuesta amigos.