Foros del Web » Programando para Internet » PHP »

Problema con UPDATE!!!

Estas en el tema de Problema con UPDATE!!! en el foro de PHP en Foros del Web. Hola amigos, Tras realizar un formulario en el que recibo el numero de goles de cada jugador que he almacenado en una bbdd, intento actualizar ...
  #1 (permalink)  
Antiguo 19/03/2009, 03:32
 
Fecha de Ingreso: noviembre-2008
Mensajes: 259
Antigüedad: 15 años, 5 meses
Puntos: 1
Problema con UPDATE!!!

Hola amigos,

Tras realizar un formulario en el que recibo el numero de goles de cada jugador que he almacenado en una bbdd, intento actualizar la bbdd con los nuevos goles de cada jugador.

Para ello, he usado este codigo:

Código PHP:
$result mysql_query("SELECT * FROM datos WHERE Grupo='BOYS' ORDER BY Goles DESC"); 
while(
$row mysql_fetch_array($result)) 

$result2 mysql_query("UPDATE datos SET Goles = '$_POST[Goles]' WHERE Jugador='$_POST[Jugador]'"); 

El Post Jugador viene de un campo HIDDEN en el formulario.
Pero me pone todos los Goles a 0!!! No entiendo el problema!

Gracias
  #2 (permalink)  
Antiguo 19/03/2009, 05:57
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Problema con UPDATE!!!

Ok la primera pregunta es
por que haces primero una consulta ala base de datos si los datos bienen de un formulario?

Me imagino que lo qu estas tratando de hacer es

1- consultar la base de datos para que te de el numero de jugadores y haci crear un ciclo, donde puedas ir actualizando los datos de cada uno.

y creo que no es la mejor forma.

envianos un poco de codigo de tu formulario.
  #3 (permalink)  
Antiguo 19/03/2009, 06:04
Avatar de AnisDelMono  
Fecha de Ingreso: febrero-2007
Ubicación: Pas de la Casa
Mensajes: 247
Antigüedad: 17 años, 2 meses
Puntos: 7
Respuesta: Problema con UPDATE!!!

Prueba asi:

Código PHP:
)) 

$result2 mysql_query("UPDATE datos SET Goles '".$_POST['Goles']."' WHERE Jugador='".$_POST['Jugador']."'"); 
  #4 (permalink)  
Antiguo 19/03/2009, 06:05
 
Fecha de Ingreso: noviembre-2008
Mensajes: 259
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Problema con UPDATE!!!

No lo tengo delante, pero es sencillo.

El formulario muestra los jugadores (extraidos de mi bbdd, campo Jugador) y sus Goles (tambien de la misma tabla, campo Goles).

Los Goles los muestro dentro de un TextBox, de manera que pueda saber cuantos habia y renovar el numero de goles.

Entonces, lo envio a un archivo PHP donde tengo que hacer UPDATE de la bbdd con los nuevos goles.
Aqui es donde me lio. No me introduce las modificaciones, sino que me pone los goles de cada jugador a 0.

Aclara algo?
Gracias!
  #5 (permalink)  
Antiguo 19/03/2009, 06:15
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Problema con UPDATE!!!

Bueno en ese caso, primero verificaria los Goles antes de hacer la actualizacion
haci compruebo de que me esta enviando la informacion que quiero .

echo $_POST["Goles"];
echo $_POST["Jugador"];
no veo ningun problema con esto:

$result2 = mysql_query("UPDATE datos SET Goles = '$_POST[Goles]' WHERE Jugador='$_POST[Jugador]'");
}
  #6 (permalink)  
Antiguo 19/03/2009, 06:27
 
Fecha de Ingreso: noviembre-2008
Mensajes: 259
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Problema con UPDATE!!!

El problema es que no hay un solo jugador, sino que estoy enviando post de todos los jugadores al mismo tiempo.

Es decir, actualizo todos los datos cada vez (ya que me facilita actualizar goles).

Al enviar todos al mismo tiempo, es donde creo que esta el problema.
Probablemente tenga que poner el input del FORM como el POST del UPDATE en forma de Matriz??

Thanks!
  #7 (permalink)  
Antiguo 19/03/2009, 06:38
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Problema con UPDATE!!!

<input type='Text' name='Goles[1]'>
<input type='hidden name='jugador[1]'>

if (!empty($_POST['Goles'])) {
$gol=array_keys($_POST['Goles']);

}

if (!empty($_POST['Jugador'])) {
$jug=array_keys($_POST['Jugador']);

}


for($a=0;$a<count($gol);$a++){

$result2 = mysql_query("UPDATE datos SET Goles = '$gol[$a]' WHERE Jugador='$Jug[$a]'");

}

Algo un poco informal podria ser esto.

Última edición por gjx2; 19/03/2009 a las 06:47
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:50.