Bienvenido(a) a Alcance Libre 05/09/2025, 23:37
|
![]() |
Índice del foro > Todo acerca de Linux > Programación y desarrollo |
![]() ![]() |
![]() |
matusalen |
|
||||||
![]() ![]() ![]() ![]() ![]() Nuevo Estado: desconectado ![]() Identificado: 21/09/12 Mensajes: 1 |
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 con 1400 puntos,lo que hace es añadir otra tabla a la base de datos,pero no lo actualiza,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 obtener las puntuaciones y enviarlas a MySQL: PHP Formatted Code <?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 estaba en la base de datos? saludos espero una respuesta amigos. |
||||||
|
|||||||
Gildus |
|
||||||
![]() ![]() ![]() ![]() ![]() Nuevo Estado: desconectado ![]() Identificado: 22/07/08 Mensajes: 8 |
Holas,
Lo que harias es usar l SQL UPDATE y no el INSERT INTO. Algo como:
PHP Formatted Code UPDATE highscores SET score='".mysql_escape_string($score)."' WHERE name='".mysql_escape_string($game)."'PHP Formatted Code UPDATE highscores SET score='".mysql_escape_string($score)."' WHERE name='".mysql_escape_string($game)."'AND ID_GAME='$idGame' |
||||||
|
|||||||
John J. Toro A. |
|
||||||
![]() ![]() ![]() ![]() ![]() Moderador ![]() Estado: desconectado ![]() Identificado: 19/02/07 Mensajes: 119 Localización:Medellín - Colombia |
Saludos,
Me confunde esta parte: Quote by: matusalen ... Supongo que seria "insertar mas registros"... La idea es buscar el usuario, si existe lo actualiza sino lo adiciona. Dependiendo la versión de MySQL, se puede emplear la sintaxis: INSERT ON DUPLICATE KEY UPDATE claro, con el nombre como clave o bien construir algo como: SELECT si se obtuvieron resultados UPDATE de lo contrario INSERT JohnToro |
||||||
|
|||||||
Contenido generado en: 0.45 segundos |
![]() ![]() |
Todas las horas son CST. Hora actual 11:37 . |
|
|