Tengo un formulario que inserta datos a una BD.
Tengo un script que los coge y los inserta.
Tengo un script que muestra esos valores y con un boton para modificar.
"Aqui", va mi problema!
Al pinchar en ese boton (modificar), me llevaria a un formulario (identico al de insertar), con los datos a modificar rellenados.
"Pero", al pinchar en el boton actualizar, me dice que LA ACTUALIZACION fue exitosa, pero al mirar en la BD veo que los datos no fueron insertados.
Os dejaré el código y haber si me podeis echar una mano.
Marcaré en el código donde creo que esta mal la cosa.
insertar.html
Código:
recoge.php<html> ... <body> <form name="form1" action="recoge.php" method="POST"> NOMBRE: <br /> <input type="text" name="nombre" /><br /> APELLIDO: <br /> <input type="text" name="apellido" /> <br /> <input type="submit" value="INSERTAR" /> </form> </body> </html>
Código:
listado.php<?php $nombre=$_POST['nombre']; $apellido=$_POST['apellido']; include('conexion.php'); $conexion=mysql_connect($host,$user,$password); mysql_select_db($basedatos,$conexion); $insert= "INSERT $tabla (nombre,apellido) Values ('$nombre','apellido')"; mysql_query($insert,$conexion); //...aqui vendria el codigo de si se ha conectado etc, etc,.. mysql_close($conexion): ?>
Código:
actualizar_form.php<?php include('conexion.php'); $conexion=mysql_connect($host,$user,$password); mysql_select_db($basedatos,$conexion); $consulta="SELECT * FROM $tabla"; $resultado= mysql_query($consulta,$conexion); //Construyo una tabla para mostrar los valores de la consulta echo "<table>"; echo "<tr>"; echo "<td colspan='5' align='center'>LISTADO</td>"; echo "</tr>"; echo "<tr><th>ID</th><th>NOMBRE</th><th>APELLIDO</th></tr>"; //Aqui podria estar uno de los problemas, a continuacion. while ($registro = mysql_fetch_row($resultado)){ echo "<tr bgcolor='#ffffff'>"; //empiezo una fila $contador = 0; $valorcontador = 'nada'; foreach($registro as $clave){ $contador = $contador + 1; echo "<td>",$clave,"</td>"; if ($contador == 1) $valorcontador = $clave; }:stress: echo "<td align='center'>"; echo "<form enctype='multipart/form-data' name='form2' method='POST' action='actualizar_form.php'>"; echo " <input type='hidden' name='algo' value='$valorcontador'>"; //envio al formulario scriptdelete un valor oculto para saber el valor seleccionado echo " <input type='submit' value='MODIFICAR'>"; echo "</form>"; echo "</td></tr>"; } echo "</table>"; mysql_close($conexion); ?>
Código:
actualizar.php<html> ... <body> <?php $recibido=$_REQUEST['algo']; include(conexion.php); $conexion=mysql_connect($host,$user,$password); mysql_select_db($basedatos,$conexion); //En la siguiente consulta puede estar el fallo. $consulta= "SELECT * FROM $tabla WHERE nombre = '$recibido'"; mysql_query($consulta,$conexion); $resultado=mysql_query($consulta,$conexion); $row=mysql_fetch_array($resultado); ?> <form name="form1" action="actualizar.php" method="POST"> NOMBRE: <br /> <input type="text" name="nombre" value="<?php echo $row['nombre']; ?>" /><br /> APELLIDO: <br /> <input type="text" name="apellido" value="<?php echo $row['apellido']; ?> /> <br /> <input type="submit" value="ACTUALIZAR" /> </form> </body> </html>
Código:
Ese es un codigo con menos datos, pero los fallos estan donde he señalado con //fallo en el codigo.<?php $nombre=$_POST['nombre']; $apellido=$_POST['apellido']; include('conexion.php'); $conexion=mysql_connect($host,$user,$password); mysql_select_db($basedatos,$conexion); //Aqui tambien puede estar el problema, en la actualizacion. $actualiza= "UPDATE $tabla SET nombre='$nombre',apellido='$apellido' WHERE nombre ='$nombre'"; mysql_query($actualiza,$conexion); //...aqui vendria el codigo de si se ha conectado etc, etc,... mysql_close($conexion) ?>
Haber si podeis echar un cable. Gracias