Foros del Web » Programando para Internet » PHP »

UPDATE php mysql me borra los campos que no modifico

Estas en el tema de UPDATE php mysql me borra los campos que no modifico en el foro de PHP en Foros del Web. hola ^^ quisiera saber como puedo arreglar eso. cuando inserto los campos que deseo modificar y los mando al modificar.php los campos que escribo los ...
  #1 (permalink)  
Antiguo 26/05/2008, 18:35
Avatar de PaMy19  
Fecha de Ingreso: mayo-2008
Ubicación: Terrassa
Mensajes: 29
Antigüedad: 16 años
Puntos: 0
UPDATE php mysql me borra los campos que no modifico

hola ^^
quisiera saber como puedo arreglar eso. cuando inserto los campos que deseo modificar y los mando al modificar.php los campos que escribo los cambia pero los que no escribo nada se quedan en blanco.

gracias :)
  #2 (permalink)  
Antiguo 26/05/2008, 18:55
 
Fecha de Ingreso: octubre-2007
Ubicación: Capital Federal
Mensajes: 215
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: UPDATE php mysql me borra los campos que no modifico

Hola, supongo $_POST en formularios.

Siempre comprobá que el $_POST contenga información...

IF (!empty($_POST["nombredelcampo"]))
{
$result=mysql_query("update.........

De esa manera sólo te va a actualizar los campos q tengan info.

Slds!
  #3 (permalink)  
Antiguo 26/05/2008, 19:05
Avatar de PaMy19  
Fecha de Ingreso: mayo-2008
Ubicación: Terrassa
Mensajes: 29
Antigüedad: 16 años
Puntos: 0
Respuesta: UPDATE php mysql me borra los campos que no modifico

tengo esto

Código PHP:
<?php
// Conexion, seleccion de base de datos
$enlace mysql_connect('localhost','root','')
    or die(
'No pudo conectarse' mysql_error());

mysql_select_db('direct') or die('No pudo seleccionarse la BD.');

// Realizar una consulta SQL
$modificar "UPDATE dept 
            SET depart='"
.$_REQUEST['nom_depart']."',
                 n_pc ='"
.$_REQUEST['num_pcs']."',
                 sis_ope='"
.$_REQUEST['sis_operatiu']."'
            WHERE id_dept = '"
.$_POST['id_dept']."'";
            
            
echo 
"Los datos han sido modificados";

$resultado mysql_query($modificar) or die(' La consulta fall&oacute;: ' mysql_error()." "$modificar);

            

// Cerrar la conexion
mysql_close($enlace);
?>
  #4 (permalink)  
Antiguo 26/05/2008, 20:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: UPDATE php mysql me borra los campos que no modifico

Hola PaMy19,

Si ves el código que te puso JavierCS2007-, debes de verificar con empty() las variables antes de enviarlas para que veas si tienen o no información.

Saludos.
  #5 (permalink)  
Antiguo 27/05/2008, 03:45
Avatar de PaMy19  
Fecha de Ingreso: mayo-2008
Ubicación: Terrassa
Mensajes: 29
Antigüedad: 16 años
Puntos: 0
Respuesta: UPDATE php mysql me borra los campos que no modifico

donde lo pongo despues del $modificar ?
  #6 (permalink)  
Antiguo 27/05/2008, 03:56
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: UPDATE php mysql me borra los campos que no modifico

hola, esos datos me imagino que te llegan mediante form, pues en el form haces una consulta a la BD y rellena los campos del form con su valor correspondiente en los VALUE del form

value ="<? echo $variable; ?>"

Es una idea, a si el form no estara en blanco, estara todo relleno con sus datos y solo cambia lo que quieres y lo demas sigue igual.

Un saludo
  #7 (permalink)  
Antiguo 27/05/2008, 04:03
Avatar de PaMy19  
Fecha de Ingreso: mayo-2008
Ubicación: Terrassa
Mensajes: 29
Antigüedad: 16 años
Puntos: 0
Respuesta: UPDATE php mysql me borra los campos que no modifico

este es el formulario php

Código PHP:

<form action="modificar_depart2.php" method="POST">
                                  
                                    <tr>
                                      <td>
                                         Nom del departament
                                      </td>
                                       <td>
                                          <input type="text" name="nom_depart" id="nom_depart">
                                         </td>
                                     </tr>
                                     <tr>
                                     <td>
                                         Numero de Pcs
                                    </td>
                                      <td>
                                          <input type="text" name="num_pcs" id="num_pcs">
                                        </td>
                                    </tr>
                                     <tr>
                                     <td>
                                         Sistema operatiu
                                    </td>
                                      <td>
                                          <input type="text" name="sis_operatiu" id="sis_operatiu">
                                        </td>
                                    </tr>
                                  </table>
                                    <p align="center">
                                 <input type="submit" value="modificar"> </p>
                                 <input type="hidden" name="id_dept" value="<?php echo $_POST['id_dept']; ?>" />
                             
                               </form>
  #8 (permalink)  
Antiguo 27/05/2008, 04:15
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: UPDATE php mysql me borra los campos que no modifico

hace una consulta de este tipo justo antes del form:

Código PHP:


$id_dept 
$_POST['id_dept'];

$query "SELECT * from dept WHERE id_dept = '$id_dept'";
            
$result mysql_query($query) or die(mysql_error());

$row mysql_fetch_array($result); 
y te muestro como rellener un campo del form, tu haras los demas

Código HTML:
<td> 
                                         Nom del departament 
                                      </td> 
                                       <td> 
                                          <input type="text" name="nom_depart" id="nom_depart" value="<? echo $row[nom_depart]; ?>">
                                         </td> 

espero que te sirva, un saludo
  #9 (permalink)  
Antiguo 27/05/2008, 04:33
Avatar de PaMy19  
Fecha de Ingreso: mayo-2008
Ubicación: Terrassa
Mensajes: 29
Antigüedad: 16 años
Puntos: 0
Respuesta: UPDATE php mysql me borra los campos que no modifico

hola, continua borrando todos los campos y solo deja el que has modificado :(
  #10 (permalink)  
Antiguo 27/05/2008, 04:37
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: UPDATE php mysql me borra los campos que no modifico

y el id_dept lo deja igual o lo borra??
, a lo mejor deberias recoger todas las variables con POST
  #11 (permalink)  
Antiguo 27/05/2008, 04:45
Avatar de PaMy19  
Fecha de Ingreso: mayo-2008
Ubicación: Terrassa
Mensajes: 29
Antigüedad: 16 años
Puntos: 0
Respuesta: UPDATE php mysql me borra los campos que no modifico

me sigue borrando los datos que no quiero modificar con el POST
  #12 (permalink)  
Antiguo 27/05/2008, 04:51
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: UPDATE php mysql me borra los campos que no modifico

pero se rellena bien el formulario con sus valores??
  #13 (permalink)  
Antiguo 27/05/2008, 05:03
Avatar de PaMy19  
Fecha de Ingreso: mayo-2008
Ubicación: Terrassa
Mensajes: 29
Antigüedad: 16 años
Puntos: 0
Respuesta: UPDATE php mysql me borra los campos que no modifico

si por ejemplo:

id nombre nº de pcs s.ope
8 contabilidad 8 windows


si modifico nombre a musica me aparece esto


id nombre nº de pcs s.ope
8 musica
  #14 (permalink)  
Antiguo 27/05/2008, 05:05
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: UPDATE php mysql me borra los campos que no modifico

no se

prueba asi:

Código PHP:
<?php 
// Conexion, seleccion de base de datos 
$enlace mysql_connect('localhost','root',''
    or die(
'No pudo conectarse' mysql_error()); 

mysql_select_db('direct') or die('No pudo seleccionarse la BD.'); 


$nom_depart $_POST ['nom_depart'];
$nom_depart $_POST ['num_pcs'];
$sis_operatiu $_POST ['sis_operatiu'];
$id_dept $_POST ['id_dept'];


if (isset 
$nom_depart ){

// Realizar una consulta SQL 



 // Realizar una consulta SQL 
$modificar "UPDATE dept  
            SET depart='$nom_depart', 
                 n_pc ='$nom_depart', 
                 sis_ope='$sis_operatiu' 
            WHERE id_dept = '$id_dept'"

             
             
$resultado mysql_query($modificar) or die(' La consulta fall&oacute;: ' mysql_error()." "$modificar); 
                    echo 
"Los datos han sido modificados"
   }else{
               echo 
"fallo al modificar";          
}
// Cerrar la conexion 
mysql_close($enlace); 

?>
PERO SE RELLENA BIEN EL FORM???
  #15 (permalink)  
Antiguo 27/05/2008, 05:11
Avatar de PaMy19  
Fecha de Ingreso: mayo-2008
Ubicación: Terrassa
Mensajes: 29
Antigüedad: 16 años
Puntos: 0
Respuesta: UPDATE php mysql me borra los campos que no modifico

me voy ya para clase lo probare alli ^^ y te respondere gracias por la ayuda a todos :)
  #16 (permalink)  
Antiguo 28/05/2008, 05:04
Avatar de PaMy19  
Fecha de Ingreso: mayo-2008
Ubicación: Terrassa
Mensajes: 29
Antigüedad: 16 años
Puntos: 0
Respuesta: UPDATE php mysql me borra los campos que no modifico

e echo una forma para solucionar el problema


hice que el php donde ves los datos cuando le das a modificar cada registro te lo escribe en cada campo de texto donde has de escribir lo que quieras modificar asi al hacer el update como lo demas no lo e tocado y es como si lo hubiera escrito se vuelve a guardar con todos los datos ^^ no borra los que no e cambiado porque ya esta escrito y guarda la informacion que haya escrito nueva.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:57.