Foros del Web » Programando para Internet » PHP »

Actualizar base de datos por php

Estas en el tema de Actualizar base de datos por php en el foro de PHP en Foros del Web. Hola amigos, tengo un duda con respecto a unos php que son para actualizar un registro en mi base de datos de mysql. Tengo lo ...
  #1 (permalink)  
Antiguo 02/11/2009, 23:47
angel200883
Invitado
 
Mensajes: n/a
Puntos:
Actualizar base de datos por php

Hola amigos, tengo un duda con respecto a unos php que son para actualizar un registro en mi base de datos de mysql.

Tengo lo siguiente:
Nombre de la base de datos: prueba

Nombre de la tabla: amigos

Campos de la tabla:
nombre
telefono
e-mail
fecha de nacimiento

--------------------------------------------------------------------------------------------------------
Ya puedo conectarme a mi base de datos, agregar nuevos amigos, telefonos,
e-mail's, fechas de nacimiento, e incluso puedo borrarlos, todo eso desde script's de phph, pero lo que realmete me a costado trabajo es crear un php que en lugar de borrar todos los datos de una fila, solo me permita actualizar un dato a la ves, por ejemplo solo cambiar el numero de telefono, u otro por el estilo.
--------------------------------------------------------------------------------------------------------
Los script¡s que stoy intentando usar son los siguiente:

actualizar1php

Código PHP:
<HTML>
<HEAD>
<TITLE>Actualizar1.php</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Actualizar un registro</h1>
<br>
<?
//Conexion con la base
mysql_connect("localhost","root","contraseña");
echo 
'<FORM METHOD="POST" ACTION="actualizar2.php">Nombre<br>';
//Creamos la sentencia SQL y la ejecutamos
$sSQL="Select nombre From amigos Order By nombre";
$result=mysql_db_query("prueba",$sSQL);
echo 
'<select name="nombre">';
//Generamos el menu desplegable
while ($row=mysql_fetch_array($result))
{echo 
'<option>'.$row["nombre"];}
?>
</select>
<br>
Teléfono<br>
<INPUT TYPE="TEXT" NAME="telefono"><br>
<INPUT TYPE="SUBMIT" value="Actualizar">
</FORM>
</div>
</BODY>
</HTML>
--------------------------------------------------------------------------------------------------------

actualizar2.php

Código PHP:
<HTML>
<HEAD>
<TITLE>Actualizar2.php</TITLE>
</HEAD>
<BODY>
<?
//Conexion con la base
mysql_connect("localhost","root","contraseña");
//Creamos la sentencia SQL y la ejecutamos
$sSQL="Update nombre Set telefono='$telefono'Where nombre='$nombre'";
mysql_db_query("prueba",$sSQL);
?>
<h1><div align="center">Registro Actualizado</div></h1>
<div align="center"><a href="index.php">Visualizar el contenido de la 
base</a></div>
</BODY>
</HTML>
--------------------------------------------------------------------------------------------------------

Les agradecere muchisimo su ayuda si alguien encuentra que estoy haciendo mal en los sript's.
  #2 (permalink)  
Antiguo 03/11/2009, 02:15
 
Fecha de Ingreso: noviembre-2008
Mensajes: 31
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Actualizar base de datos por php

primero
debes cerrar la etiquea option.. en tu pimer php

" {echo '<option>'.$row["nombre"].'<option>';} "


segundo
QUE!!!!
$sSQL="Update nombre Set telefono='$telefono'Where nombre='$nombre'";

ya ok.. sé que quieres guardar la variable telefono desde tu otro php pero necesitas asignarlo a la variable antes, talves ese es tu error...
$telefono = $_POST["telefono"];
$nombre= $_POST["nombre"];

y despues
$sSQL="Update nombre Set telefono='$telefono' te falta un espacio tambien Where nombre='$nombre'";

siempre que no sepas el valor de una variable.. MUESTRALO...
echo $telefono, te hubiera ayudado, para ver que tu variable no tenia nada
antes de tu sentencia,aunque estuviera mal o se viera feo, despues lo comentas no mas.

tambien es bueno mostrar la sentencia SQL,,,

saludos

Última edición por darkporn; 03/11/2009 a las 02:18 Razón: faltó algo
  #3 (permalink)  
Antiguo 08/11/2009, 23:51
angel200883
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Actualizar base de datos por php

Cita:
Iniciado por darkporn Ver Mensaje
primero
debes cerrar la etiquea option.. en tu pimer php

" {echo '<option>'.$row["nombre"].'<option>';} "


segundo
QUE!!!!
$sSQL="Update nombre Set telefono='$telefono'Where nombre='$nombre'";

ya ok.. sé que quieres guardar la variable telefono desde tu otro php pero necesitas asignarlo a la variable antes, talves ese es tu error...
$telefono = $_POST["telefono"];
$nombre= $_POST["nombre"];

y despues
$sSQL="Update nombre Set telefono='$telefono' te falta un espacio tambien Where nombre='$nombre'";

siempre que no sepas el valor de una variable.. MUESTRALO...
echo $telefono, te hubiera ayudado, para ver que tu variable no tenia nada
antes de tu sentencia,aunque estuviera mal o se viera feo, despues lo comentas no mas.

tambien es bueno mostrar la sentencia SQL,,,

saludos


Gracias amigo, ya encontre los errores, se te agradece, ahoora me gustaria, si me pudieras hechar la mano a crear un php que me sirva para descontar las salidas a las existencias en una bacse de datos de un control de almacen. gracias de antemano.
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 09:44.