Foros del Web » Programando para Internet » PHP »

Problemas al Actualizar

Estas en el tema de Problemas al Actualizar en el foro de PHP en Foros del Web. hola tengo el siguiente problema, al tratar de actualizar algunos campos te la tabla no lo hace yo no quiero actualizar todos los campos. tan ...
  #1 (permalink)  
Antiguo 07/06/2005, 23:34
Avatar de jahman  
Fecha de Ingreso: noviembre-2003
Ubicación: Oslo
Mensajes: 230
Antigüedad: 20 años, 5 meses
Puntos: 0
Problemas al Actualizar

hola tengo el siguiente problema, al tratar de actualizar algunos campos te la tabla no lo hace yo no quiero actualizar todos los campos. tan solo algunos, espero que me puedan ayudar.

Código PHP:
if ($_GET['accion']=="nivel"){

$id_mod_nivel$_GET['id'];
$usuario_consulta mysql_query("SELECT * FROM usuarios WHERE id=$id_mod_nivel") or die("No se pudo realizar la consulta a la Base de datos");

while(
$resultados mysql_fetch_array($usuario_consulta)) {

echo <<< HTML
Ademas Edita Correctamente tus Datos, como veras no podras editar todos tu datos.<br>

<form method="post" action="$pag?accion=editarperfil">
<input type="hidden" name="id" value="$resultados
[id]">
<table width="500"   cellpadding="4"  align="center">
    <tr>
      <td colspan="2" height="30" bgcolor="#0066cc">
        <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">.:
         Editar Perfil :.</font></b></div>
      </td>
    </tr>
    <tr bgcolor="#DEDEBE">
      <td width="185">
        <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">RUT : </font></div></td>
      <td width="192">$resultados
[rut]
        </td>
    </tr>
    <tr bgcolor="#F0F0F0">
      <td width="185"><div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Nick Name : </font></div></td>
      <td width="192">$resultados
[usuario]</td>
    </tr>
    <tr bgcolor="#DEDEBE">
      <td width="185"><div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Nombre : </font></div></td>
      <td width="192">$resultados
[nombre]</td>
    </tr>
    <tr bgcolor="#F0F0F0">
      <td width="185"><div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Apellidos : </font></div></td>
      <td width="192">$resultados
[apellido_pat] $resultados[apellido_mat]</td>
    </tr>
    <tr bgcolor="#DEDEBE">
     <td width="185">
        <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Telefono : </font></div></td>
      <td width="192"><input type="text" name="telefono" class="imputbox" maxlength="15" value="$resultados
[telefono]">
        </td>
        </tr>
        <tr bgcolor="#DEDEBE">
     <td width="185">
        <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">E-Mail : </font></div></td>
      <td width="192"><input type="text" name="e_mail" class="imputbox" maxlength="15" value="$resultados
[e_mail]">
        </td>
        </tr>
    <tr bgcolor="#F0F0F0">
      <td colspan="2" height="40">
        <div align="center">
          <input type="submit" name="Submit" value="  Actualizar  " class="botones" >
        </div>
      </td>
    </tr>
  </table>
</form>
HTML;
}
mysql_free_result($usuario_consulta);
mysql_close();
}
if (
$_GET['accion']=="editarperfil"){
$id=$_POST['id'];
$telefono=$_POST['telefono'];
$e_mail=$_POST['e_mail'];
mysql_query("UPDATE usuarios SET telefono='$telefono', e_mail='$e_mail' WHERE id='$id'") or die(mysql_error());
mysql_close ();
echo <<< HTML
El Perfil a Sido Editado Con Exito<br>

  
HTML;

  #2 (permalink)  
Antiguo 08/06/2005, 01:35
Avatar de illman  
Fecha de Ingreso: mayo-2001
Mensajes: 115
Antigüedad: 22 años, 11 meses
Puntos: 0
Que problema te da?

Estas comprobando una variable GET (accion), y estas recogiendo los valores con POST, has comprobado que el script sigue el camino que le has marcado?
  #3 (permalink)  
Antiguo 08/06/2005, 20:20
Avatar de jahman  
Fecha de Ingreso: noviembre-2003
Ubicación: Oslo
Mensajes: 230
Antigüedad: 20 años, 5 meses
Puntos: 0
no actualiza no sale ningun problema tan solo no cambia nada,creo que quizas sea porque no todos los datos los edito entonces envia algunos y si se fijan el el sql inserto algunos quizas el orden de insertar no sea correcto que piensan ud?? de porque seria elmotivo de que no actualiza
aca recibo tan solo algunos datos no todos porque no quiero editarlos todos
quien me pueda ayudar se los agradeceria mucho ya que es muy par ami proyecto de titulo....espero sus consejos
Código PHP:
if ($_GET['accion']=="editarperfil"){ 
$id=$_POST['id']; 
$telefono=$_POST['telefono']; 
$e_mail=$_POST['e_mail']; 
mysql_query("UPDATE usuarios SET telefono='$telefono', e_mail='$e_mail' WHERE id='$id'") or die(mysql_error()); 
mysql_close (); 
  #4 (permalink)  
Antiguo 09/06/2005, 01:54
Avatar de illman  
Fecha de Ingreso: mayo-2001
Mensajes: 115
Antigüedad: 22 años, 11 meses
Puntos: 0
No se si te entiendo, doy por supuesto lo siguiente:

1. por un lado tienes una BBDD con una tabla "usuarios" con una serie de campos, entre ellos id, telefono y email.
2 Por otro lado tienes un formulario de actualización en el que tienes uos campos tipo text llamados telefono y e_mail. El formulario utiliza el método POST??

Al pulsar en el botón enviar se envia a otro script... (que sería el que tu indicas aquí).

Código PHP:
if ($_GET['accion']=="editarperfil"){
$id=$_POST['id'];
$telefono=$_POST['telefono'];
$e_mail=$_POST['e_mail'];
mysql_query("UPDATE usuarios SET telefono='$telefono', e_mail='$e_mail' WHERE id='$id'") or die(mysql_error());
mysql_close (); 
en este código la condición indica el método GET, los formularios auque el pongas action="script.php?accion=editarperfil", no cogen esta variable como get, pues el método será post, por tnto, coloca un campo hidden en el formulario que se llame accion con el value="editarperfil", y este script dejalo comprando el valor POST:

Código PHP:
if ($_POST['accion']=="editarperfil"){
$id=$_POST['id'];
$telefono=$_POST['telefono'];
$e_mail=$_POST['e_mail'];
mysql_query("UPDATE usuarios SET telefono='$telefono', e_mail='$e_mail' WHERE id='$id'") or die(mysql_error());
mysql_close (); 
Igual no te estoy entendiendo correctamente.
  #5 (permalink)  
Antiguo 09/06/2005, 11:58
Avatar de jahman  
Fecha de Ingreso: noviembre-2003
Ubicación: Oslo
Mensajes: 230
Antigüedad: 20 años, 5 meses
Puntos: 0
bredda ironicamente ya resolvi el problema y lo resolvi de la siguiente forma
si se da cuenta aca le doy un largo de 15 caracteres pero en la BD tenia como maximo 7 entonces lo unico que hice fue colocar 7 en vez de 15 y lo actualizo de inmediato.
Código HTML:
<input type="text" name="telefono" class="imputbox" maxlength="15" value="$resultados[telefono]"> 
igual voy a a intentar con lo que me dijo, pero el explico le envio la accion por $_get para luego recibirla y ver si la accion fue ejecutada pero las variable las envio y recibo mediante post lo cual no deberia tener ningun problema al enviar la accion por $_get hasta ahora este sistema me a funcionado muy bien y no e tenido muchos problemas...Gracias por su atencion.
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 17:55.