Foros del Web » Programando para Internet » PHP »

Modificar registros...

Estas en el tema de Modificar registros... en el foro de PHP en Foros del Web. No puedo conseguir actualizar los registros de la base de datos. El codigo que tengo para hacer la consulta es la siguiente: Código PHP: <? ...
  #1 (permalink)  
Antiguo 25/08/2006, 04:11
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
Actulizar datos

No puedo conseguir actualizar los registros de la base de datos.
El codigo que tengo para hacer la consulta es la siguiente:

Código PHP:
<?
//Mostramos los registros
while ($row=mysql_fetch_array($result))
{
echo 
'<tr><td><span class="textoperfil">ID:</span> '  .$row["id"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Usuario:</span> '  .$row["usuario"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Contrase&ntilde;a:</span> '.$row["pass"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Nombre:</span> '.$row["nombre"].'</td></tr>';
echo 
'<tr><td><span class="textoperfil">Apellidos:</span> '.$row["apellidos"].'</td></tr>';
echo 
'<tr><td><span class="textoperfil">DNI:</span> '.$row["dni"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Email:</span> '.$row["email"].'</td></tr>';
echo 
'<tr><td><span class="textoperfil">Direcci&oacute;n:</span> '.$row["direccion"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">C.P.:</span> '.$row["cp"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Ciudad:</span> '.$row["ciudad"].'</td></tr>'
echo
'<tr><td><span class="textoperfil">Pais:</span> ' .$row["pais"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Tel&eacute;fono:</span> '.$row["telefono"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Móvil:</span> '.$row["movil"].'</td></tr>';  
}
?>
Y quiero intentar hacer algun enlace para poder actualizarlos pero....
El siguiente codigo, es una hoja aparte para poder actualizarlos, que es un formulario con accion a admin_usuario_actualizar.php ...


Código HTML:
<FORM METHOD="POST" ACTION="admin_usuario_actualizar.php">
				  <table width="470" height="18"  cellpadding="2" cellspacing="2" class="estilotabla">
                    <tr>
                      <td colspan="4" class="estilocelda">MODIFICAR CLIENTES </td>
                    </tr>
                    <tr>
                      <td width="79"> </td>
                      <td width="375"><input type="hidden" name="id" id="id"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Nombre:</span></td>
                      <td><input type="text" name="nombre" id="nombre"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Apellidos:</span></td>
                      <td><input type="text" name="apellidos" id="apellidos"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">DNI:</span></td>
                      <td><input type="text" name="dni" id="dni"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Email:</span></td>
                      <td><input type="text" name="email" id="email"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Direcci&oacute;n:</span></td>
                      <td><input type="text" name="direccion" id="direccion"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">C.P.:</span></td>
                      <td><input type="text" name="cp" id="cp"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Ciudad:</span></td>
                      <td><input type="text" name="ciudad" id="ciudad"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Pa&iacute;s:</span></td>
                      <td><input type="text" name="pais" id="pais"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Tel&eacute;fono:</span></td>
                      <td><input type="text" name="telefono" id="telefono"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">M&oacute;vil:</span></td>
                      <td><input type="text" name="movil" id="movil"/></td>
                    </tr>
                    <tr>
                      <td>&nbsp;</td>
                      <td><input type="submit" id="accion" value="Actualizar" /></td>
                    </tr>
                  </table></FORM> 


Y el codigo en admin_usuario_actualizar.php tengo el siguiente, y nosé el porque no se actualizan los registros:

Código PHP:
<? 
  
//Conexión a la base de datos 
$con mysql_connect("localhost","xxx","xxx") or die (mysql_error()); 
mysql_select_db("xxx",$con) or die (mysql_error()); 

if (!isset(
$accion)){ 
  
$result=mysql_query("SELECT * FROM clientes WHERE id='".$_GET['id']."'",,$con); 
  
$row=mysql_fetch_array($result); 
  echo
"<form action=\"actualizar.php?accion=guardar\" method=\"POST\">Nombre:<br><input type=\"text\" value=\"$row[2]\" name=\"nombre\"><br>Apellido:<br><input type=\"text\" value=\"$row[3]\" name=\"Cargo\"><br>DNI:<br><input type=\"text\" value=\"$row[4]\" name=\"Login\"><br><inputtype=\"hidden\" name=\"id\" value=\"$row[0]\"><input type=\"submit\" value=\"Guardar\"></form>  </body></html>"
}elseif(
$accion==guardar){ 
  
$result=mysql_query("UPDATE clientes SET Nombre=$nombre,Cargo=$Cargo,Login=$Login WHERE id='$id'",$con); 
  echo
"<h3>Los registros han sido actualizados</h3>"


?>
  #2 (permalink)  
Antiguo 25/08/2006, 04:22
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 12 años, 6 meses
Puntos: 7
A si a voz de pronto:

en el form usas POST y recoges con GET, cambia la sentencia a:

Código PHP:
$result=mysql_query("SELECT * FROM clientes WHERE id='".$_POST['id']."'",$con); 
Paso 2: puedes tener el SAFE MODE en On, asi que cambia lo siguiente:

Código PHP:
$result=mysql_query("UPDATE clientes SET Nombre='$_POST['nombre']',Cargo='$_POST['Cargo']',Login='$_POST['Login']' WHERE id='$_POST['id'']'",$con); 
Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #3 (permalink)  
Antiguo 25/08/2006, 10:32
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
No me funciona y por mas que le de vueltas no se donde tengo el fayo...

Mira tengo el siguiente codigo cuando hago la consulta de los datos...

Código PHP:
<?
//Mostramos los registros
while ($row=mysql_fetch_array($result))
{
echo 
'<tr><td><span class="textoperfil">ID:</span> '  .$row["id"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Usuario:</span> '  .$row["usuario"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Contraseña:</span> '.$row["pass"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Nombre:</span> '.$row["nombre"].'</td></tr>';
echo 
'<tr><td><span class="textoperfil">Apellidos:</span> '.$row["apellidos"].'</td></tr>';  
echo 
'<tr><td><span class="textoperfil">DNI:</span> '.$row["dni"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Email:</span> '.$row["email"].'</td></tr>';
echo 
'<tr><td><span class="textoperfil">Dirección:</span> '.$row["direccion"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">C.P.:</span> '.$row["cp"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Ciudad:</span> '.$row["ciudad"].'</td></tr>'
echo
'<tr><td><span class="textoperfil">Pais:</span> ' .$row["pais"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Teléfono:</span> '.$row["telefono"].'</td></tr>';  
echo 
'<tr><td><span class="textoperfil">Móvil:</span> '.$row["movil"].'</td></tr>';  
printf("<tr><td><a href=\"$HTTP_REFERER\">Volver</a></td><td><a href=\"admin_usuario_modificar.php?id=%d\">Actualizar</a></td></tr>"$row["id"], $row["id"]);

}
mysql_free_result($result); 
   
mysql_close($link); 
   
?>
Y lo lleva a la pagina admin_usuario_modificar.php?id=%d\ que tiene el siguiente codigo y claro como veis no pongo el valor que tiene ese registro en ese momento que es lo que quiero pero por mucho que lo intente no sale :

Código PHP:
<html>
...


<?php 
   
include("../conex.php"); 
   
$link=Conectarse();  
$result=mysql_query("SELECT * FROM clientes WHERE id=$id",$link);
?>
                  <br />
                 <FORM METHOD="POST" ACTION="admin_usuario_actualizar.php">
                  <table width="470" height="18"  cellpadding="2" cellspacing="2" class="estilotabla">
                    <tr>
                      <td colspan="4" class="estilocelda">MODIFICAR CLIENTES </td>
                    </tr>
                    <tr>
                      <td width="79">   </td>
                      <td width="375"><input type="hidden" name="id" id="id"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Nombre:</span></td>
                      <td><input type="text" name="nombre" id="nombre"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Apellidos:</span></td>
                      <td><input type="text" name="apellidos" id="apellidos"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">DNI:</span></td>
                      <td><input type="text" name="dni" id="dni"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Email:</span></td>
                      <td><input type="text" name="email" id="email"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Direcci&oacute;n:</span></td>
                      <td><input type="text" name="direccion" id="direccion"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">C.P.:</span></td>
                      <td><input type="text" name="cp" id="cp"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Ciudad:</span></td>
                      <td><input type="text" name="ciudad" id="ciudad"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Pa&iacute;s:</span></td>
                      <td><input type="text" name="pais" id="pais"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Tel&eacute;fono:</span></td>
                      <td><input type="text" name="telefono" id="telefono"/></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">M&oacute;vil:</span></td>
                      <td><input type="text" name="movil" id="movil"/></td>
                    </tr>
                    <tr>
                      <td>&nbsp;</td>
                      <td><input type="submit" id="accion" value="Actualizar" /></td>
                    </tr>
                  </table></FORM>
....
</html>

Pues vien una vez terminado el formulario lleva al la siguiente pagina:


Código PHP:
<html>

......

<? 
  
//Conexión a la base de datos 
$con mysql_connect("localhost","gekuar_clientes","clientespd") or die (mysql_error()); 
mysql_select_db("gekuar_clientespd",$con) or die (mysql_error()); 

if (!isset(
$accion)){ 
  
$result=mysql_query("SELECT * FROM clientes WHERE id='".$_POST['id']."'",$con); 
  
$row=mysql_fetch_array($result); 
  echo
"<form action=\"actualizar.php?accion=guardar\" method=\"POST\">Nombre:<br><input type=\"text\" value=\"$row[nombre]\" name=\"nombre\"><br>Apellidos:<br><input type=\"text\" value=\"$row[apellidos]\" name=\"apellidos\"><br>DNI:<br><input type=\"text\" value=\"$row[dni]\" name=\"dni\"><br>Email:<br><input type=\"text\" value=\"$row[email]\" name=\"email\"><br>Direccion:<br><input type=\"text\" value=\"$row[direccion]\" name=\"direccion\"><br>C.P:<br><input type=\"text\" value=\"$row[cp]\" name=\"cp\">País:<br><input type=\"text\" value=\"$row[pais]\" name=\"pais\"><br>Telefono<br><input type=\"text\" value=\"$row[telefono]\" name=\"telefono\"><br>Movil:<br><input type=\"text\" value=\"$row[movil]\" name=\"movil\"><br><inputtype=\"hidden\" name=\"id\" value=\"$row[id]\"><input type=\"submit\" value=\"Guardar\"></form>"
}elseif(
$accion==guardar){ 
  
$result=mysql_query("UPDATE clientes SET Nombre='$_POST['nombre']', Apellidos='$_POST['apellidos']', Dni='$_POST['dni']', Email='$_POST['email']', Direccion='$_POST['direccion']', CP='$_POST['cp']', Ciudad='$_POST['ciudad']', Pais='$_POST['pais']', Telefono='$_POST['telefono']', movil='$_POST['movil']' WHERE id='$_POST['id'']'",$con);  
  echo
"<h3>Los registros han sido actualizados</h3>"


?> 
...

</html>

Y no me actualiza nada....
  #4 (permalink)  
Antiguo 27/08/2006, 09:40
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
Modificar registros...

Por mucho que le de mas vueltas no me actualiza los datos
tengo el siguiente codigo cuando hago la consulta de los datos...


Código PHP:
<? 
//Mostramos los registros 
while ($row=mysql_fetch_array($result)) 

echo 
'<tr><td><span class="textoperfil">ID:</span> '  .$row["id"].'</td></tr>';  
echo 
'<tr><td><span class="textoperfil">Usuario:</span> '  .$row["usuario"].'</td></tr>';  
echo 
'<tr><td><span class="textoperfil">Contraseña:</span> '.$row["pass"].'</td></tr>';  
echo 
'<tr><td><span class="textoperfil">Nombre:</span> '.$row["nombre"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Apellidos:</span> '.$row["apellidos"].'</td></tr>';   
echo 
'<tr><td><span class="textoperfil">DNI:</span> '.$row["dni"].'</td></tr>';  
echo 
'<tr><td><span class="textoperfil">Email:</span> '.$row["email"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Dirección:</span> '.$row["direccion"].'</td></tr>';  
echo 
'<tr><td><span class="textoperfil">C.P.:</span> '.$row["cp"].'</td></tr>';  
echo 
'<tr><td><span class="textoperfil">Ciudad:</span> '.$row["ciudad"].'</td></tr>';  
echo
'<tr><td><span class="textoperfil">Pais:</span> ' .$row["pais"].'</td></tr>';  
echo 
'<tr><td><span class="textoperfil">Teléfono:</span> '.$row["telefono"].'</td></tr>';   
echo 
'<tr><td><span class="textoperfil">Móvil:</span> '.$row["movil"].'</td></tr>';   
printf("<tr><td><a href=\"$HTTP_REFERER\">Volver</a></td><td><a href=\"admin_usuario_modificar.php?id=%d\">Actualizar</a></td></tr>"$row["id"], $row["id"]); 


mysql_free_result($result);  
   
mysql_close($link);  
    
?>
Y lo lleva a la pagina admin_usuario_modificar.php?id=%d\ que tiene el siguiente codigo y claro como veis no pongo el valor que tiene ese registro en ese momento que es lo que quiero pero por mucho que lo intente no sale tampoco :

Código PHP:
<html> 
... 


<?php  
   
include("../conex.php");  
   
$link=Conectarse();   
$result=mysql_query("SELECT * FROM clientes WHERE id=$id",$link); 
?> 
                  <br /> 
                 <FORM METHOD="POST" ACTION="admin_usuario_actualizar.php"> 
                  <table width="470" height="18"  cellpadding="2" cellspacing="2" class="estilotabla"> 
                    <tr> 
                      <td colspan="4" class="estilocelda">MODIFICAR CLIENTES </td> 
                    </tr> 
                    <tr> 
                      <td width="79">   </td> 
                      <td width="375"><input type="hidden" name="id" id="id"/></td> 
                    </tr> 
                    <tr> 
                      <td><span class="textoperfil">Nombre:</span></td> 
                      <td><input type="text" name="nombre" id="nombre"/></td> 
                    </tr> 
                    <tr> 
                      <td><span class="textoperfil">Apellidos:</span></td> 
                      <td><input type="text" name="apellidos" id="apellidos"/></td> 
                    </tr> 
                    <tr> 
                      <td><span class="textoperfil">DNI:</span></td> 
                      <td><input type="text" name="dni" id="dni"/></td> 
                    </tr> 
                    <tr> 
                      <td><span class="textoperfil">Email:</span></td> 
                      <td><input type="text" name="email" id="email"/></td> 
                    </tr> 
                    <tr> 
                      <td><span class="textoperfil">Direcci&oacute;n:</span></td> 
                      <td><input type="text" name="direccion" id="direccion"/></td> 
                    </tr> 
                    <tr> 
                      <td><span class="textoperfil">C.P.:</span></td> 
                      <td><input type="text" name="cp" id="cp"/></td> 
                    </tr> 
                    <tr> 
                      <td><span class="textoperfil">Ciudad:</span></td> 
                      <td><input type="text" name="ciudad" id="ciudad"/></td> 
                    </tr> 
                    <tr> 
                      <td><span class="textoperfil">Pa&iacute;s:</span></td> 
                      <td><input type="text" name="pais" id="pais"/></td> 
                    </tr> 
                    <tr> 
                      <td><span class="textoperfil">Tel&eacute;fono:</span></td> 
                      <td><input type="text" name="telefono" id="telefono"/></td> 
                    </tr> 
                    <tr> 
                      <td><span class="textoperfil">M&oacute;vil:</span></td> 
                      <td><input type="text" name="movil" id="movil"/></td> 
                    </tr> 
                    <tr> 
                      <td>&nbsp;</td> 
                      <td><input type="submit" id="accion" value="Actualizar" /></td> 
                    </tr> 
                  </table></FORM> 
.... 
</html>

Pues vien una vez terminado el formulario lleva al la siguiente pagina:

Código PHP:
<html> 

...... 

<?  
   
//Conexión a la base de datos  
$con mysql_connect("localhost","gekuar_clientes","clientespd") or die (mysql_error());  
mysql_select_db("gekuar_clientespd",$con) or die (mysql_error());  

if (!isset(
$accion)){  
  
$result=mysql_query("SELECT * FROM clientes WHERE id='".$_POST['id']."'",$con);  
  
$row=mysql_fetch_array($result);  
  echo
"<form action=\"actualizar.php?accion=guardar\" method=\"POST\">Nombre:<br><input type=\"text\" value=\"$row[nombre]\" name=\"nombre\"><br>Apellidos:<br><input type=\"text\" value=\"$row[apellidos]\" name=\"apellidos\"><br>DNI:<br><input type=\"text\" value=\"$row[dni]\" name=\"dni\"><br>Email:<br><input type=\"text\" value=\"$row[email]\" name=\"email\"><br>Direccion:<br><input type=\"text\" value=\"$row[direccion]\" name=\"direccion\"><br>C.P:<br><input type=\"text\" value=\"$row[cp]\" name=\"cp\">País:<br><input type=\"text\" value=\"$row[pais]\" name=\"pais\"><br>Telefono<br><input type=\"text\" value=\"$row[telefono]\" name=\"telefono\"><br>Movil:<br><input type=\"text\" value=\"$row[movil]\" name=\"movil\"><br><inputtype=\"hidden\" name=\"id\" value=\"$row[id]\"><input type=\"submit\" value=\"Guardar\"></form>";  
}elseif(
$accion==guardar){  
  
$result=mysql_query("UPDATE clientes SET Nombre='$_POST['nombre']', Apellidos='$_POST['apellidos']', Dni='$_POST['dni']', Email='$_POST['email']', Direccion='$_POST['direccion']', CP='$_POST['cp']', Ciudad='$_POST['ciudad']', Pais='$_POST['pais']', Telefono='$_POST['telefono']', movil='$_POST['movil']' WHERE id='$_POST['id'']'",$con);   
  echo
"<h3>Los registros han sido actualizados</h3>";  
}  

?>  
... 

</html>

Y no me actualiza nada....
  #5 (permalink)  
Antiguo 27/08/2006, 10:03
Avatar de Belero  
Fecha de Ingreso: agosto-2006
Mensajes: 98
Antigüedad: 11 años, 3 meses
Puntos: 0
A simple vista veo un pequeño fallo en las comillas del update

Mal
Código PHP:
"UPDATE clientes SET Nombre='$_POST['nombre']'" . . . 
Bien
Código PHP:
"UPDATE clientes SET Nombre='" $_POST['nombre'] . "'" . . . 
Aquí puedes informarte más
  #6 (permalink)  
Antiguo 27/08/2006, 14:04
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
Y para ver los registros en el el formulario del archivo admin_usuario_modificar.php?id=%d\ ???

Como podria hacerlo
  #7 (permalink)  
Antiguo 28/08/2006, 05:06
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
A simple vista ("tu último código"):

- Le sobra un $row['id'] a la función printf()... ¿o no veo el %d correspondiente? ...
www.php.net/printf

- $HTTP_REFERER es obsoleto, en su lugar ocupa $_SERVER['HTTP_REFERER']
- Básicamente lo mismo en donde envias la variable por URL: debes recibirla con $_GET[].
Dos FAQ:
+ Estoy intentando recoger unas variables que paso de un script a otro y no me llegan .. ¿que puede ser?
+ Que diferencias hay entre usar para pasar variables de un script a otro: $variable_nombre, $HTTP_xxx_VARS['variable_nombre'], $_XXX['variable_nombre']

- No entiendo por qué haces una consulta en el script que "recibe" el enlace, al menos en tu código no haces nada con ello...
- En tu tercer código inténtas recuperar un dato que no envias...

Creo tu intención es en el formulario hacer:
Código PHP:
<td width="375"><input type="hidden" name="id" id="id" value="<?php echo $_GET['id'?>"/></td>
... para "pasar" el valor que proviene desde la consulta (un campo hidden al que no le asignas valor, ¿para qué?).

Un "no me sirve" no dice mucho del problema, procura ser más explícito . Espero te sirva, Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #8 (permalink)  
Antiguo 28/08/2006, 12:17
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
La verdad que estoy viendo que me estoy confundiendo...
Mira voy a poner mas o menos el codigo y lo que estoy intentando hacer para ver si podeis exarme una mano y ver los errores qu etengo o si hay algo mejor...

Hago la consulta de un perfil determinado y lo hago con el siguiente codigo:

Código PHP:
<?
//Mostramos los registros
while ($row=mysql_fetch_array($result))
{
echo 
'<tr><td><span class="textoperfil">ID:</span> '  .$row["id"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Usuario:</span> '  .$row["usuario"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Contraseña:</span> '.$row["pass"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Nombre:</span> '.$row["nombre"].'</td></tr>';
echo 
'<tr><td><span class="textoperfil">Apellidos:</span> '.$row["apellidos"].'</td></tr>';  
echo 
'<tr><td><span class="textoperfil">DNI:</span> '.$row["dni"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Email:</span> '.$row["email"].'</td></tr>';
echo 
'<tr><td><span class="textoperfil">Dirección:</span> '.$row["direccion"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">C.P.:</span> '.$row["cp"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Ciudad:</span> '.$row["ciudad"].'</td></tr>'
echo
'<tr><td><span class="textoperfil">Pais:</span> ' .$row["pais"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Teléfono:</span> '.$row["telefono"].'</td></tr>';  
echo 
'<tr><td><span class="textoperfil">Móvil:</span> '.$row["movil"].'</td></tr>';  
printf("<tr><td><a href=\"$HTTP_REFERER\">Volver</a></td><td><a href=\"admin_usuario_actualizar.php?id=%d\">Actualizar</a></td></tr>"$row["id"], $row["id"]);

}
mysql_free_result($result); 
   
mysql_close($link); 
   
?>
En la parte:

Código PHP:
printf("<tr><td><a href=\"$HTTP_REFERER\">Volver</a></td><td><a href=\"admin_usuario_actualizar.php?id=%d\">Actualizar</a></td></tr>"$row["id"], $row["id"]); 
La pongo o bien para volver si veo que esta bien el codigo o para Actualizar si quiero añadirle algo o actualizarlo para que me lleve a admin_usuario_actualizar.php?id=%d que digo yo que me lleve al formulario donde pueda modificar los datos de dicha "id"..

Bien pues hasta hay todo perfecto, ahora vemos el formulario que tenemos el siguiente codigo y veo todos los datos y todo perfecto pero cuando le doy a guardar y dice los campos han sido actualizados pero en realidad no lo hace..


Código PHP:
<? 
  
//Conexión a la base de datos 
$con mysql_connect("localhost","xxx","xxx") or die (mysql_error()); 
mysql_select_db("xxx",$con) or die (mysql_error()); 

if (!isset(
$accion)){ 
  
$result=mysql_query("SELECT * FROM clientes WHERE id='".$_GET['id']."'",$con); 
  
$row=mysql_fetch_array($result); 
  echo
"<form action=\"admin_usuario_actualizar.php?accion=guardar\" method=\"POST\">Nombre: <input type=\"text\" value=\"$row[nombre]\" name=\"nombre\"><br>Apellidos: <input type=\"text\" value=\"$row[apellidos]\" name=\"apellidos\"><br>DNI: <input type=\"text\" value=\"$row[dni]\" name=\"dni\"><br>Email: <input type=\"text\" value=\"$row[email]\" name=\"email\"><br>Direccion: <input type=\"text\" value=\"$row[direccion]\" name=\"direccion\"><br>C.P: <input type=\"text\" value=\"$row[cp]\" name=\"cp\"><br>País: <input type=\"text\" value=\"$row[pais]\" name=\"pais\"><br>Telefono: <input type=\"text\" value=\"$row[telefono]\" name=\"telefono\"><br>Móvil: <input type=\"text\" value=\"$row[movil]\" name=\"movil\"><br><inputtype=\"hidden\" name=\"id\" value=\"$row[id]\"><input type=\"submit\" value=\"Guardar\"></form>"
}elseif(
$accion==guardar){ 
  
$result=mysql_query("UPDATE clientes SET Nombre='".$_POST['nombre']."', Apellidos='".$_POST['apellidos']."', Dni='".$_POST['dni']."', Email='".$_POST['email']."', Direccion='".$_POST['direccion']."', CP='".$_POST['cp']."', Ciudad='".$_POST['ciudad']."', Pais='".$_POST['pais']."', Telefono='".$_POST['telefono']."', movil='".$_POST['movil']."' WHERE id='".$_POST['id']."'",$con);  
  echo
"<h3>Los registros han sido actualizados</h3>"


?>
Porque no me guardas los cambios?????

Última edición por Raules; 28/08/2006 a las 12:19 Razón: por claves y datos protegidos
  #9 (permalink)  
Antiguo 28/08/2006, 12:31
Avatar de merolhack  
Fecha de Ingreso: junio-2006
Ubicación: México
Mensajes: 1.242
Antigüedad: 11 años, 5 meses
Puntos: 16
Sonrisa

Y por que primero no almacenas en unas variables los resultados del formulario?

Código PHP:
<? 
$nombre
=$_POST['nombre'];
$apellidos=$_POST['apellidos'];
 
etc...
?>
  #10 (permalink)  
Antiguo 28/08/2006, 12:34
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
Como puedo añadirlo en este codigo?


Código PHP:
<? 
  
//Conexión a la base de datos 
$con mysql_connect("localhost","xxx","xxx") or die (mysql_error()); 
mysql_select_db("xxx",$con) or die (mysql_error()); 

if (!isset(
$accion)){ 
  
$result=mysql_query("SELECT * FROM clientes WHERE id='".$_GET['id']."'",$con); 
  
$row=mysql_fetch_array($result); 
  echo
"<form action=\"admin_usuario_actualizar.php?accion=guardar\" method=\"POST\">Nombre: <input type=\"text\" value=\"$row[nombre]\" name=\"nombre\" id=\"nombre\"><br>Apellidos: <input type=\"text\" value=\"$row[apellidos]\" name=\"apellidos\" id=\"apellidos\"><br>DNI: <input type=\"text\" value=\"$row[dni]\" name=\"dni\" id=\"dni\"><br>Email: <input type=\"text\" value=\"$row[email]\" name=\"email\" id=\"email\"><br>Direccion: <input type=\"text\" value=\"$row[direccion]\" name=\"direccion\" id=\"direccion\"><br>C.P: <input type=\"text\" value=\"$row[cp]\" name=\"cp\" id=\"cp\"><br>País: <input type=\"text\" value=\"$row[pais]\" name=\"pais\" id=\"pais\"><br>Telefono: <input type=\"text\" value=\"$row[telefono]\" name=\"telefono\" id=\"telefono\"><br>Móvil: <input type=\"text\" value=\"$row[movil]\" name=\"movil\" id=\"movil\"><br><inputtype=\"hidden\" name=\"id\" id=\"id\" value=\"$row[id]\"><input type=\"submit\" value=\"Guardar\"></form>"
}elseif(
$accion==guardar){ 
  
$result=mysql_query("UPDATE clientes SET Nombre='".$_POST['nombre']."', Apellidos='".$_POST['apellidos']."', Dni='".$_POST['dni']."', Email='".$_POST['email']."', Direccion='".$_POST['direccion']."', CP='".$_POST['cp']."', Ciudad='".$_POST['ciudad']."', Pais='".$_POST['pais']."', Telefono='".$_POST['telefono']."', movil='".$_POST['movil']."' WHERE id='".$_POST['id']."'",$con);  
  echo
"<h1>Los registros han sido actualizados</h1>"


?>
  #11 (permalink)  
Antiguo 28/08/2006, 12:47
Avatar de merolhack  
Fecha de Ingreso: junio-2006
Ubicación: México
Mensajes: 1.242
Antigüedad: 11 años, 5 meses
Puntos: 16
Sonrisa

Mira yo la actualizacion la hago asi:

Código PHP:
<?php
// incluir configuracion de base de datos.
require('../functions/conexion.php');

$id=$_POST['id_alumnos'];
$nombre=$_POST['nombre'];
$apellidos=$_POST['apellidos'];
$matricula=$_POST['matricula'];    
$seminicio=$_POST['seminicio']; 
$semactual=$_POST['semactual']; 

$update "UPDATE $alumnos SET  nombre='".$nombre."',apellidos='".$apellidos."',matricula='".$matricula."',seminicio='".$seminicio."',semactual='".$semactual."'  Where id_alumno='".$id."'";
$actualizar mysql_query($update$conexion);
mysql_close();

?>
  #12 (permalink)  
Antiguo 29/08/2006, 07:18
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
Cita:
Iniciado por merolhack Ver Mensaje
Mira yo la actualizacion la hago asi:

Código PHP:
<?php
// incluir configuracion de base de datos.
require('../functions/conexion.php');

$id=$_POST['id_alumnos'];
$nombre=$_POST['nombre'];
$apellidos=$_POST['apellidos'];
$matricula=$_POST['matricula'];    
$seminicio=$_POST['seminicio']; 
$semactual=$_POST['semactual']; 

$update "UPDATE $alumnos SET  nombre='".$nombre."',apellidos='".$apellidos."',matricula='".$matricula."',seminicio='".$seminicio."',semactual='".$semactual."'  Where id_alumno='".$id."'";
$actualizar mysql_query($update$conexion);
mysql_close();

?>
Y el formulario como lo pones...

Podrias ponerme tu codigo completo?
  #13 (permalink)  
Antiguo 29/08/2006, 13:06
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
La verdad que merolhack me ha servido mucho tu codigo, pero no consigo hacer actualizar los registros,pero por lo menos he adelantado algo.Voy a poner todo lo que estoy utilizando para que se pueda llevad a cabo y a ver si entre unos cuantos podemos ver donde esta el fallo.
En el siguiente codigo vemos todos los registros que hay en la base de datos, y con un enlace para borrarlos y otro para ver completamente todos los datos de ese registro.
admin_usuario.php
Código PHP:
<body>
<?php 
   
include("../conex.php"); 
   
$link=Conectarse(); 
   
$result=mysql_query("select * from clientes",$link); ?>
<td colspan="5" class="estilocelda">CLIENTES EN EL SISTEMA </td>
</tr><tr bgcolor="#cccccc">
<td width="38" class="textoperfil">Id</td>
<td class="textoperfil" width="73">Usuario</td>
<td class="textoperfil" width="119">Contrase&ntilde;a</td>
<td  class="textoperfil"width="61">Email</td>
<td width="145" class="textoperfil">Acci&oacute;n</td>
</tr><?php       
while($row mysql_fetch_array($result)) { 
printf("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td><a href=\"admin_usuario_detalles.php?id=%d\">Detalles</a> - <a href=\"admin_usuario_borrar.php?id=%d\">Borrar</a></td></tr>"$row["id"],$row["usuario"],$row["pass"],$row["email"],$row["id"],$row["id"]); 
   } 
   
mysql_free_result($result); 
   
mysql_close($link); 
?>
</table><br />
</body></html>
Bien como queremos ver el registro de un cliente en concreto le doy a ver detalles que me lleva a la pagina admin_usuario_detalles.php y vemos todos los detalles de ese registro seleccionado. Pues bien si queremos modificarlo le damos al boton actualizar registro..

Código PHP:
<?include ("seguridad.php");?><head>
</head>
<body>                  <?php 
   
include("../conex.php"); 
   
$link=Conectarse(); 
   
$result=mysql_query("select * from clientes WHERE id='$id'",$link); 
?>
<tr>
<td colspan="2" class="estilocelda">DETALLES CLIENTE </td></tr><tr><td><?
//Mostramos los registros
while ($row=mysql_fetch_array($result)){
 
$id $row[id];

echo 
'<tr><td><span class="textoperfil">ID:</span> '  .$row["id"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Usuario:</span> '  .$row["usuario"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Contraseña:</span> '.$row["pass"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Nombre:</span> '.$row["nombre"].'</td></tr>';
echo 
'<tr><td><span class="textoperfil">Apellidos:</span> '.$row["apellidos"].'</td></tr>';  
echo 
'<tr><td><span class="textoperfil">DNI:</span> '.$row["dni"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Email:</span> '.$row["email"].'</td></tr>';
echo 
'<tr><td><span class="textoperfil">Dirección:</span> '.$row["direccion"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">C.P.:</span> '.$row["cp"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Ciudad:</span> '.$row["ciudad"].'</td></tr>'
echo
'<tr><td><span class="textoperfil">Pais:</span> ' .$row["pais"].'</td></tr>'
echo 
'<tr><td><span class="textoperfil">Teléfono:</span> '.$row["telefono"].'</td></tr>';  
echo 
'<tr><td><span class="textoperfil">Móvil:</span> '.$row["movil"].'</td></tr>';  
printf("<tr><td><div id=\"volver\"><form action=\"$HTTP_REFERER\" method=\"post\"><input type=\"submit\" name=\"boton\" value=\"volver\" style=\"height:17px\"/></form></div></td></tr></form>"$row["id"]);


?>
<tr><td><div id="volver"><form method="POST" action="admin_usuario_modificar.php"><input type="hidden" name="id" id="id" value="<?=$id?>"><input type="submit" name="boton" value="actualizar registro" style="height:17px"/></form></div></td></tr>
<br /></td> </tr></table></body>
</html>

En la pagina admin_usuario_modificar.php tenemos el formulario para modificar o actualizar el registro seleccionado...que tiene el siguiente codigo:

Código PHP:
<?include ("seguridad.php");?>
<?$id 
$_POST['id'];?>
<head>
</head>
<body>
                  <?php 
   
include("../conex.php"); 
   
$link=Conectarse();  
$result=mysql_query("SELECT * FROM clientes WHERE id=$id",$link);

if (
$row mysql_fetch_array($result)){ 
        
mysql_field_seek($result,0);
    
$nombre $row['nombre'];?>

                  <br />
                 <FORM METHOD="POST" ACTION="admin_usuario_actu.php">
                  <table width="470" height="18"  cellpadding="2" cellspacing="2" class="estilotabla">
                    <tr>
                      <td colspan="4" class="estilocelda">MODIFICAR CLIENTES </td>
                    </tr>
                    <tr>
                      <td width="79">   </td>
                      <td width="375"><input type="hidden" name="id" id="id" value="<?=$row['id']?>"></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Usuario:</span></td>
                      <td class="volver"><input type="text" name="usuario" id="usuario" value="<?=$row['usuario']?>"></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Contrase&ntilde;a:</span></td>
                      <td class="volver"><input type="text" name="pass" id="pass" value="<?=$row['pass']?>"></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Nombre:</span></td>
                      <td class="volver"><input type="text" name="nombre" id="nombre" value="<?=$row['nombre']?>"></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Apellidos:</span></td>
                      <td class="volver"><input type="text" name="apellidos" id="apellidos" value="<?=$row['apellidos']?>"></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">DNI:</span></td>
                      <td class="volver"><input type="text" name="dni" id="dni" value="<?=$row['dni']?>"></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Email:</span></td>
                      <td class="volver"><input type="text" name="email" id="email" value="<?=$row['email']?>"></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Direcci&oacute;n:</span></td>
                      <td class="volver"><input type="text" name="direccion" id="direccion" value="<?=$row['direccion']?>"></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">C.P.:</span></td>
                      <td class="volver"><input type="text" name="cp" id="cp" value="<?=$row['cp']?>"></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Ciudad:</span></td>
                      <td class="volver"><input type="text" name="ciudad" id="ciudad" value="<?=$row['ciudad']?>"></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Pa&iacute;s:</span></td>
                      <td class="volver"><input type="text" name="pais" id="pais" value="<?=$row['pais']?>"></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">Tel&eacute;fono:</span></td>
                      <td class="volver"><input type="text" name="telefono" id="telefono" value="<?=$row['telefono']?>"></td>
                    </tr>
                    <tr>
                      <td><span class="textoperfil">M&oacute;vil:</span></td>
                      <td class="volver"><input type="text" name="movil" id="movil" value="<?=$row['movil']?>"></td>
                    </tr>
                    <tr>
                      <td>&nbsp;</td>
                     <?php    
while ($field mysql_fetch_field($result)){
    }
    
        } 
?>    
 <td><div id="volver">
                          <input type="submit" name="boton" value="actualizar registro" style="height:17px" />
                      </div></td>
                    </tr>
                  </table>
                 </FORM>
                  <br />
                      <p>&nbsp;                          </p>
                </div>
            </div></td>
</body></html>
Modifico el dato que yo quiera modificar y le doy a actualizar registro...
Y me lleva al siguiente codigo:

Código PHP:
<?include ("seguridad.php");?>
<?php 
   
include("../conex.php"); 
   
$link=Conectarse();  
   
$id=$_POST['id'];
   
$usuario=$_POST['usuario'];
   
$pass=$_POST['pass'];
   
$nombre=$_POST['nombre'];
   
$apellidos=$_POST['apellidos'];  
   
$dni=$_POST['dni']; 
   
$email=$_POST['email'];
   
$direccion=$_POST['direccion']; 
   
$cp=$_POST['cp'];
   
$ciudad=$_POST['ciudad'];
   
$pais=$_POST['pais'];
   
$telefono=$_POST['telefono'];
   
$movil=$_POST['movil'];

$update "UPDATE clientes SET usuario='".$usuario."',pass='".$pass."',nombre='".$nombre."',apellidos='".$apellidos."',dni='".$dni."',email='".$email."',direccion='".$direccion."',cp='".$cp."',ciudad='".ciudad."',pais='".$pais."',telefono='".$movil."',nombre='".$movil.
$actualizar mysql_query($update$link);
mysql_close();
?>
<head>
</head>
<body>
CLIENTE ACTUALIZADO
</body></html><?php      
exit;
?>
Bien pues hasta el momento todo bien.., no da ningun error ni nada pero en realidad no modifica ningun registro ni lo actualiza ni nada.Eso a que se debe? que problema hay?
  #14 (permalink)  
Antiguo 30/08/2006, 11:10
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
Podrias echarme una mano?
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 00:55.