Foros del Web » Programando para Internet » PHP »

Modificar campos BD desde PHP

Estas en el tema de Modificar campos BD desde PHP en el foro de PHP en Foros del Web. Bien como seria el codigo para modificar los datos de los campos? se ke era algo con UPDATE o algo asi :S Si podeis ponerme ...
  #1 (permalink)  
Antiguo 08/02/2005, 12:30
 
Fecha de Ingreso: febrero-2005
Mensajes: 143
Antigüedad: 19 años, 9 meses
Puntos: 0
Modificar campos BD desde PHP

Bien como seria el codigo para modificar los datos de los campos?

se ke era algo con UPDATE o algo asi :S

Si podeis ponerme el codigo PHP y un form de prueba lo agradeceria :)
  #2 (permalink)  
Antiguo 08/02/2005, 13:13
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 21 años, 4 meses
Puntos: 0
Supongamos que tenemos una tabla llamada tabla_nombres donde guardamos los nombres de los usuarios que se registran en nuestra web y ofrecemos un formulario para que el usuario pueda cambiar su nombre:

<form method="post" action="este_script.php">
<input type="text" name="nombre"></input>
<input type="submit" value="enviar"></input>
</form>

Cuando un usuario pulsa enviar se envía la variable 'nombre' que contiene lo que el usuario haya escrito en la caja de texto.


if (!empty($_POST['nombre'])){//si escribió algo
$consulta="update tabla_nombres set nombre = '".$_POST['nombre']."' where id_user = '".$_COOKIE['registrado']."'";
[enviamos la consulta]
}

Solo se puede hacer un update sobre un dato que ya existe en la tabla... si el dato no existiese tienes que hacer un insert. Si no sabes si el dato existe puedes comprobarlo:

if (!empty($_POST['nombre'])){
$consulta="select id_user from tabla_nombres where id_user = '".$_COOKIE['registrado']."'";
[Enviamos la consulta]

if(mysql_num_rows($resultado)>0) $consulta="update tabla_nombres set nombre = '".$_POST['nombre']."'";
else $consulta="insert into tabla_usuarios (ident_user,nombre) values ('','"$_POST['nombre']"')";
[Enviamos la consulta]
}

Lo que hace esto es comprobar si existe un determinado usuario en función del valor de una cookie previamente insertada.

Si existe actualizamos los datos.
Si no existe insertamos los datos.

Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)

Última edición por DjNelson; 08/02/2005 a las 13:22
  #3 (permalink)  
Antiguo 08/02/2005, 13:25
 
Fecha de Ingreso: febrero-2005
Mensajes: 143
Antigüedad: 19 años, 9 meses
Puntos: 0
y si son mas datos?

update tabla_nombres set nombre = '".$_POST['nombre']."' , email = '".$_POST['email']."' , ...

seria asi o como?
  #4 (permalink)  
Antiguo 08/02/2005, 13:35
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 21 años, 4 meses
Puntos: 0
si, pero debes poner un where... si no el update actualiza todos los registros de la tabla con los mismos datos.

Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
  #5 (permalink)  
Antiguo 08/02/2005, 15:03
 
Fecha de Ingreso: febrero-2005
Mensajes: 143
Antigüedad: 19 años, 9 meses
Puntos: 0
Tengo estos codigos:

Código PHP:
<form action="round2conect.php">
  <
p>Round2win1
    <
input type="text" name="Round2win1" size="30">
    <
br>
    
Round2win2
    <
input type="text" name="Round2win2" size="30" >
    <
br>
    
Round2win3
    <
input type="text" name="Round2win3" size="30" >
    <
br>
    
Round2win4
    <
input type="text" name="Round2win4" size="30">
    <
br>
    
Round2win5
    <
input type="text" name="Round2win5" size="30">
  <
br>
  
Round2win6
    <
input type="text" name="Round2win6" size="30">
    <
br>
    
Round2win7
    <
input type="text" name="Round2win7" size="30">
    <
br>
    
Round2win8
    <
input type="text" name="Round2win8" size="30" >
    <
br>
    
Round2win9
    <
input type="text" name="Round2win9" size="30" >
    <
br>
    
Round2win10
    <
input type="text" name="Round2win10" size="30">
    <
br>
    
Round2win11
    <
input type="text" name="Round2win11" size="30">
    <
br>
    
Round2win12
    <
input type="text" name="Round2win12" size="30">
    <
br>
    
Round2win13
    <
input type="text" name="Round2win13" size="30">
    <
br>
    
Round2win14
    <
input type="text" name="Round2win14" size="30">
    <
br>
    
Round2win15
    <
input type="text" name="Round2win15" size="30">
    <
br>
    
Round2win16
    <
input type="text" name="Round2win16" size="30">
    <
input type="submit" name="submit" value="Enviar">
</
form
y este otro:

Código PHP:
<?
include('config4.php');

$consulta="update round2 set Round2win1 = '".$_GET['Round2win1']."',Round2win2 = '".$_GET['Round2win2']."',Round2win3 = '".$_GET['Round2win3']."',Round2win4 = '".$_GET['Round2win4']."',Round2win5 = '".$_GET['Round2win5']."',Round2win6 = '".$_GET['Round2win6']."',Round2win7 = '".$_GET['Round2win7']."',Round2win8 = '".$_GET['Round2win8']."',Round2win9 = '".$_GET['Round2win9']."',Round2win10 = '".$_GET['Round2win10']."',Round2win11 = '".$_GET['Round2win11']."',Round2win12 = '".$_GET['Round2win12']."',Round2win13 = '".$_GET['Round2win13']."',Round2win14 = '".$_GET['Round2win14']."',Round2win15 = '".$_GET['Round2win15']."',Round2win16 = '".$_GET['Round2win16']."' WHERE id=1";

?>
Pero no va no me modifica nada :S que error hay ?
  #6 (permalink)  
Antiguo 08/02/2005, 16:11
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 21 años, 4 meses
Puntos: 0
en el formulario pon el método por el que envias los datos

<form method="post" action="round2conect.php">

Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
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 21:59.