Duda en código UPDATE

  • Autor Autor Davidenco12
  • Fecha de inicio Fecha de inicio
D

Davidenco12

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Buenas a todos,estoy con mi primer proyecto serio,una web de un equipo de futbol aficionado,tengo hecha la sección para el administrador,y tengo un form para actualizar el resultado del último partido que aparece en todas las secciones de la web dado que esta en un <aside> que esta fijo en la web,bien,el problema es el siguiente:

Cuando escribo en el form el resultado LOCAL y VISITANTE,y clico en el input para actualizar el resultado,no me muestra nada en la web,no me da error de codigo ni de base de datos,pero al ver la tabla de esta base de datos en phpmyadmin me sale como que no me coge los datos actualizados.

El código en la pagina del administrador es este:
_______________________________________________
$id=$_POST['resultado_local'];
include('conexion_resultado.php');
$registros=mysql_query("SELECT * FROM marcador
WHERE local='$_POST[resultado_local]'",$conexion) or
die("Problemas en el select:".mysql_error());
mysql_close($conexion);
_______________________________________________

Y este código es el que muestro en este caso en el index
_______________________________________________
$jornada_ant=$_POST['resultado_local'];
include("conexion_resultado.php");
$registros=mysql_query("select * from marcador
where local='$_POST[resultado_local]'",$conexion) or
die("Problemas en el select:".mysql_error());
if ($reg=mysql_fetch_array($registros))
{
mysql_query("UPDATE marcador SET local='$_POST[resultado_local]',visitante='$_POST[resultado_visitante]'WHERE local=$_POST[resultado_local]",$conexion) or
die("Problemas en el select:".mysql_error());

}
mysql_close($conexion);
_______________________________________________

Muchas gracias de antemano

Un saludo
 
Última edición:
Primero, no validas las variables de entrada ($_POST)
Segundo, donde se supone que se actualizan los datos, en el admin o en el index?
 
Última edición:
Creo que es debido por tener el WHERE sin espacios, es decir le falta un espacio antes del WHERE

Insertar CODE, HTML o PHP:
mysql_query("UPDATE marcador SET local='$_POST[resultado_local]',[U]visitante='$_POST[resultado_visitante]'WHERE [/U]local=$_POST[resultado_local]",$conexion) or
die("Problemas en el select:".mysql_error());

Saludos
 
A que te refieres con no validarlas xSkArx??

Que va nemesis866,sigue todo igual

Saludos
 
[MENTION=81249]Davidenco12[/MENTION] lo que tienes que hacer es guardar los valores que recoges con $_POST en variables antes de hacer la consulta sino es más probable que la líes, además lo que va dentro de los corchetes de POST no le has puesto comillas.

Tu código mal:

PHP:
("SELECT * FROM marcador WHERE local='$_POST[resultado_local]'");

Bien:

PHP:
$var = $_POST['resultado_local'];
("SELECT * FROM marcador WHERE local='$var'");
 
En vez de mysql_query, deberias utilizar mysqli_query, que es una extensión mysql mejorada aquí tienes mas info:
PHP.net
 
En vez de mysql_query, deberias utilizar mysqli_query, que es una extensión mysql mejorada aquí tienes mas info:
PHP.net
Gracias srlemuuur,lo mirare

---------- Post agregado el 01-mar-2014 hora: 16:04 ----------

Primero, no validas las variables de entrada ($_POST)
Segundo, donde se supone que se actualizan los datos, en el admin o en el index?

Buenas xSkArx

Este codigo es el de la pagina de administrador
_________________________________________
$resultado=$_POST['resultado_local'];
include("conexion_resultado.php");

$registros=mysql_query("SELECT * FROM marcador WHERE local='$resultado'",$conexion) or die ("Problema en el select".mysql_error());

if ($reg=mysql_fetch_array($registros))

{mysql_query("UPDATE marcador SET local='$_POST[resultado_local]',visitante='$_POST[resultado_visitante]' WHERE local=$_POST[resultado_local]",$conexion) or
die("Problemas en el select:".mysql_error());}

mysql_close($conexion);


Y este es el que se muestra "en teoria" en el index
___________________________________________________

$local=$_POST['resultado_local'];
include('conexion_resultado.php');
$registros=mysql_query("SELECT * FROM marcador
WHERE local='$local'",$conexion) or
die("Problemas en el select:".mysql_error());

while ($reg=mysql_fetch_array($registros))
{

echo "<div id='jornada_anterior' align='center';>".$reg[local]."--".$reg[visitante]."</div>"; }

He probado de mil maneras,pero no me sale recogido ni en la tabla de la base de datos...:ambivalence:


Gracias,un saludo
 
Bueno, eso del espacio no lo soluciono pero tambien vi que en la variable que pasas en el WHERE no la tienes entrecomillada.-

PHP:
mysql_query("UPDATE marcador SET local='$_POST[resultado_local]',visitante='$_POST[resultado_visitante]'WHERE local=[U]$_POST[resultado_local][/U]",$conexion) or
die("Problemas en el select:".mysql_error());

Intenta con eso, para ver si se soluciona el problema 🙂

PHP:
mysql_query("UPDATE marcador SET local='$_POST[resultado_local]',visitante='$_POST[resultado_visitante]' WHERE  local='$_POST[resultado_local]'", $conexion) or
die("Problemas en el select:".mysql_error());
 
Bueno, eso del espacio no lo soluciono pero tambien vi que en la variable que pasas en el WHERE no la tienes entrecomillada.-

PHP:
mysql_query("UPDATE marcador SET local='$_POST[resultado_local]',visitante='$_POST[resultado_visitante]'WHERE local=[U]$_POST[resultado_local][/U]",$conexion) or
die("Problemas en el select:".mysql_error());

Intenta con eso, para ver si se soluciona el problema 🙂

PHP:
mysql_query("UPDATE marcador SET local='$_POST[resultado_local]',visitante='$_POST[resultado_visitante]' WHERE  local='$_POST[resultado_local]'", $conexion) or
die("Problemas en el select:".mysql_error());

Lo he intentado con la pero nada,y si pongo el entrecomillado despues del WHERE me salta error,he creado las variable,y tampoco....sigue todo igual...:s
 
Debes concatenar para que no te de error:
PHP:
<?php
'$_POST[resultado_local]' //deberia ser 
'.$_POST[resultado_local].'

//Editado

mysql_query('UPDATE marcador SET 
  local='.$_POST["resultado_local"].',
  visitante='.$_POST["resultado_visitante"].' 
  WHERE  local='.$_POST["resultado_local"].' ', $conexion) or 
die("Problemas en el select:".mysql_error()); 

?>
 
Última edición:
Atrás
Arriba