Foros del Web » Programando para Internet » PHP »

actualizar registro db mysql

Estas en el tema de actualizar registro db mysql en el foro de PHP en Foros del Web. hola a todos... podria ayudarme con este codigo? necesito actualizar los registros de una base de datos(mysql) haciendo la busqueda con el nombre... pero no ...
  #1 (permalink)  
Antiguo 28/08/2009, 08:21
 
Fecha de Ingreso: agosto-2009
Mensajes: 11
Antigüedad: 14 años, 8 meses
Puntos: 0
actualizar registro db mysql

hola a todos... podria ayudarme con este codigo? necesito actualizar los registros de una base de datos(mysql) haciendo la busqueda con el nombre... pero no se en que me estoy equivocando... alguien puede orientarme??? muchas gracias de antemano por su ayuda....
aqui les dejo el codigo para que lo vea...

<?php


$bd_host = "localhost";
$bd_usuario = "root";
$bd_password = "123456";
$bd_base = "ccsrc";
$conexion = mysql_connect($bd_host, $bd_usuario, $bd_password);
mysql_select_db($bd_base, $conexion);


$nombre=$_POST['nombre'];
$nombresdos = $_POST['nombresact'];
$apellidos = $_POST['apellidos'];
$fn = $_POST['nacimiento'];
$c=$_POST['civil'];
$direccion=$_POST['direccion'];
$telr = $_POST['telr'];
$telm = $_POST['telm'];
$ocupacion=$_POST['ocupacion'];
$ingreso=$_POST['ingresos'];
$observaciones=$_POST['observaciones'];

$resultados=mysql_query("SELECT * FROM habitantes WHERE nombre LIKE '%{$nombre}%'", $conexion);
$actual=mysql_query("UPDATE habitantes SET

nombres='$nombresdos',
apellidos='$apellidos',
fechan='$fn',
civil='$c',
direccion='$direccion',
telfor='$telr',
telm='$telm',
ocupacion='$ocupacion',
ingresos='$ingresos',
observaciones='$observaciones',
WHERE nombre='$nombresdos'", $conexion);

echo"<form action=actualiza.php method =post><table border=1 cellspacing=1 cellpadding=1>

<tr>

<td><b>nombres</b></td>
<td><b>apellidos</b></td>
<td><b>fecha de nacimiento</b></td>
<td><b>estado civil</b></td>
<td><b>direccion</b></td>
<td><b>telefono residencial</b></td>
<td><b>telefono movil</b></td>
<td><b>ocupacion</b></td>
<td><b>ingresos</b></td>
<td><b>observaciones</b></td>
</tr>";

while($row=mysql_fetch_array($resultados)){
echo"
<tr>

<td><input type=text name=nombresact size=20 maxlength=30 value=$row[nombres]></td>
<td><input type=text name=apellidos size=20 maxlength=30 value=$row[apellidos]></td>
<td><input type=text name=nacimiento size=20 maxlength=30 value=$row[fechan]></td>
<td><input type=text name=civil size=20 maxlength=30 value=$row[civil]></td>
<td><input type=text name=direccion size=20 maxlength=30 value=$row[direccion]></td>
<td><input type=text name=telr size=20 maxlength=30 value=$row[telefor]></td>
<td><input type=text name=telm size=20 maxlength=30 value=$row[telem]></td>
<td><input type=text name=ocupacion size=20 maxlength=30 value=$row[ocupacion]></td>
<td><input type=text name=ingresos size=20 maxlength=30 value=$row[ingresos]></td>
<td><input type=text name=observaciones size=20 maxlength=30 value=$row[observaciones]></td>
<td><input type=submit name=boton value=ACTUALIZAR></td>
</tr>";

}

echo"</table></form>";
mysql_close($conexion);
?>

<body>

<small>INGRESE SUS DATOS</small><br>
<form action="actualiza.php" method ="post">
<input type="text" name="nombre" size="20" maxlength="30">
<input type="submit" name="boton" value="ENVIAR">
</form><br>

</body>
</html>
  #2 (permalink)  
Antiguo 28/08/2009, 10:18
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 14 años, 9 meses
Puntos: 13
Respuesta: actualizar registro db mysql

primero que todo este es el foro de MySQL
acá no va el PHP


segundo...
te recomiendo que eso que tienes lo hagas en 2 hojas diferentes
una en donde el usuario modifica los datos y la otra en donde se modifiquen los datos

tercero...
para qué usas el LIKE?

cuarto...
cuál es la diferencia entre nombre y nombresdos

y quinto...
acá preguntas ---> WHERE nombre LIKE '%{$nombre}%'",
acá modificas ---> WHERE nombre='$nombresdos'"
estos creo yo que deberian ser iguales no?


saludos!
  #3 (permalink)  
Antiguo 28/08/2009, 11:26
 
Fecha de Ingreso: agosto-2009
Mensajes: 11
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: actualizar registro db mysql

hola Twonex. gracias por la aclaratoria, me sirvio de bienvenida al foro...soy nueva aqui.
gracias por responderme... mira las realice juntas porq mi idea es que se muestre por pantalla los datos almacenados actualmente en db junto con el formulario de consulta.
la diferencia entre nombre y $nombresdos es: nombre es el campo en la db, $nombre = al valor y $nombresdos es el valor actual almacenadon. No se si me comprendas?
  #4 (permalink)  
Antiguo 28/08/2009, 11:27
 
Fecha de Ingreso: agosto-2009
Mensajes: 11
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: actualizar registro db mysql

$nombre= al valor recibido por POST para la consulta...
  #5 (permalink)  
Antiguo 28/08/2009, 13:39
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 14 años, 9 meses
Puntos: 13
Respuesta: actualizar registro db mysql

mmm, algo entendi, pero de ser asi (lo que entiendo) no es mejor trabajar con el valor almacenado en BD de manera directa que tener otra variable para lo mismo?
por eso preguntaba para que usas el LIKE!

pero aún asi no sé cual es tu problema
qué es lo que no funciona? (está claro que no modifica)
cuál es el error que te muestra en pantalla?

dinos el error y será más fácil ayudarte!
  #6 (permalink)  
Antiguo 28/08/2009, 16:56
 
Fecha de Ingreso: agosto-2009
Mensajes: 11
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: actualizar registro db mysql

mira este es el erro:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\AppServ\www\actualiza.php on line 61
  #7 (permalink)  
Antiguo 29/08/2009, 22:00
 
Fecha de Ingreso: agosto-2009
Mensajes: 9
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: actualizar registro db mysql

Hola cate324, bienvenida!! (K) yo tambien soy nuevo...

Veamos tu problema....

TIP, cuando solo tienes un conexion mysql_connect, no es necesario indicarle la conexion a mysql_query, mysql_select_db, etc....

Podrian ser varias cosas... no presisamente ahi esta el error, estas segura que se realiza la conexion con mysql? prueba un

mysql_connect(... ... ) or die("Error con la conexion al server....");

por que no intentas poner

$resultados=mysql_query("SELECT * FROM habitantes WHERE nombre LIKE '%{$nombre}%'", $conexion) die("Error al correr el query....");;

inmediatamente antes del mysql_fetch_array...???

Espero te sea de utilidad, saludos
  #8 (permalink)  
Antiguo 07/09/2009, 11:18
 
Fecha de Ingreso: agosto-2009
Mensajes: 11
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: actualizar registro db mysql

hola yanarox. gracias por la bienvenida... mira la conexión a base de datos esta bien... porq
  #9 (permalink)  
Antiguo 07/09/2009, 11:24
 
Fecha de Ingreso: agosto-2009
Mensajes: 11
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: actualizar registro db mysql

porque me muestra los datos que se encuentran en los registros... pero cuando le doy actualizar, no me actualiza los datos en la base de datos. tome las sugerencias que me dio
twonex , y modifique el codigo ... pero sigo sin poder actualizar .. solo muestra los datos nada mas...
  #10 (permalink)  
Antiguo 07/09/2009, 12:53
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 14 años, 9 meses
Puntos: 13
Respuesta: actualizar registro db mysql

entonces danos tu código actualizado para poder chequearlo en conjunto
es lo más recomendable creo yo

pon el codigo del formulario como así también el que hace la modificación
saludos
__________________
Mi Bosque de Sombras Solo Doom Metal!

por favor use esta etiqueta para publicar su código --->[HIGHLIGHT]
  #11 (permalink)  
Antiguo 08/09/2009, 11:24
 
Fecha de Ingreso: agosto-2009
Mensajes: 11
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: actualizar registro db mysql

hola... he tratado de enviar el código nuevamente, pero ahora no se puede, hay restrinciones para el envió....existe otra manera de poder enviar el código???????
gracias... xaito...
  #12 (permalink)  
Antiguo 08/09/2009, 13:46
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 14 años, 9 meses
Puntos: 13
Respuesta: actualizar registro db mysql

enviar?
lo que debes hacer es postearlo...
tal como lo hiciste en el primer post

y no hay restricciones para eso...
__________________
Mi Bosque de Sombras Solo Doom Metal!

por favor use esta etiqueta para publicar su código --->[HIGHLIGHT]
  #13 (permalink)  
Antiguo 08/09/2009, 14:34
 
Fecha de Ingreso: agosto-2009
Mensajes: 11
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: actualizar registro db mysql

a bueno... pues fíjate que no se puede "postear" como tu dices... no lo admite... lo he intentado de nuevo muchas veces y no me lo permite... gracias...
  #14 (permalink)  
Antiguo 08/09/2009, 14:43
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 14 años, 9 meses
Puntos: 13
Respuesta: actualizar registro db mysql

por qué no puedes hacerlo?
y cual es el mensaje de error? si es que lo da...

que te dice?

estás usando la etiqueta [highlight]?
es el boton verde con un gato que sale arriba de donde escribes
__________________
Mi Bosque de Sombras Solo Doom Metal!

por favor use esta etiqueta para publicar su código --->[HIGHLIGHT]
  #15 (permalink)  
Antiguo 08/09/2009, 14:44
 
Fecha de Ingreso: agosto-2009
Mensajes: 11
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: actualizar registro db mysql

bueno... esto es lo que aparece cuando trato de "postear"

" Por motivos anti-spam, solo es posible incluir enlaces o compartir direcciones web en sus mensajes, luego de que el usuario tenga más de 30 días de antigüedad y más de 30 mensajes publicados en el foro. Disculpe las molestias."

muchas gracias de todas manera por responderme...
  #16 (permalink)  
Antiguo 08/09/2009, 14:59
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 14 años, 9 meses
Puntos: 13
Respuesta: actualizar registro db mysql

bah, pero eso es porque tienes algún enlace en tu codigo, remuevelo o editalo
tan simple como eso
__________________
Mi Bosque de Sombras Solo Doom Metal!

por favor use esta etiqueta para publicar su código --->[HIGHLIGHT]
  #17 (permalink)  
Antiguo 10/09/2009, 19:52
 
Fecha de Ingreso: agosto-2009
Mensajes: 11
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: actualizar registro db mysql

este es el código con los nuevos cambios
<?php

// Conexion a la base de datos
$bd_host = "localhost";
$bd_usuario = "root";
$bd_password = "123456";
$bd_base = "ccsrc";
$conexion = mysql_connect($bd_host, $bd_usuario, $bd_password);
Mysql_select_db($bd_base, $conexion);
$resultados = mysql_query("SELECT * FROM habitantes ");


// Actualizar, solo se ejecuta si se persiona el boton actualizar
if(isset($_POST['boton_actualizar'])) {

//recibo las variables
$idCI = $_POST['cedula']; //Esto es lo que me indica cual de todos actualizar
$nombres = $_POST['nombresact'];
$apellidos = $_POST['apellidos'];
$fn = $_POST['nacimiento'];
$c=$_POST['civil'];
$direccion=$_POST['direccion'];
$telr = $_POST['telr'];
$telm = $_POST['telm'];
$ocupacion=$_POST['ocupacion'];
$ingreso=$_POST['ingresos'];
$observaciones=$_POST['observaciones'];

//la actualizacion en si
$actualizar = mysql_query("UPDATE habitantes SET nombres='$nombres', apellidos='$apellidos',
fechan='$fn', civil='$c', direccion='$direccion', telefor='$telr', telem='$telm',
ocupacion='$ocupacion', ingresos='$ingreso', observaciones='$observaciones' WHERE idCI='$idCI' LIMIT 1");

//mensaje de exito o error
if($actualizar) echo "Actualizado con exito"; else echo "Error al actualizar";
echo "</br><a href='actualiza_habitantes.php*'>Volver atras</a>";
return; //Esto hace que no muestre el resto de la pagina

} //del if

?>


<table border='1' cellspacing='1' cellpadding='1'>
<tr>
<td>Nombres</td>
<td>Apellidos</td>
<td>F. Nacimiento</td>
<td>Estado Civil</td>
<td>Direccion</td>
<td>Tlf Fijo</td>
<td>Tlf Movil</td>
<td>Ocupacion</td>
<td>Ingresos</td>
<td>Observaciones</td>
</tr>

<?php


// Un formulario por cada habitante
while($row = mysql_fetch_array($resultados)) {

echo "<form method='POST' action='actualiza_habitantes.php*'>
<input type='hidden' name='idCI' value='$row[idCI]'>
<tr>
<td><input type=text name=nombresact size=8 maxlength=60 value=$row[nombres]></td>
<td><input type=text name=apellidos size=8 maxlength=60 value=$row[apellidos]></td>
<td><input type=text name=nacimiento size=10 maxlength=20 value=$row[fechan]></td>
<td><input type=text name=civil size=8 maxlength=20 value=$row[civil]></td>
<td><input type=text name=direccion size=8 maxlength=100 value=$row[direccion]></td>
<td><input type=text name=telr size=8 maxlength=50 value=$row[telefor]></td>
<td><input type=text name=telm size=8 maxlength=50 value=$row[telem]></td>
<td><input type=text name=ocupacion size=8 maxlength=50 value=$row[ocupacion]></td>
<td><input type=text name=ingresos size=8 maxlength=20 value=$row[ingresos]></td>
<td><input type=text name=observaciones size=12 maxlength=100 value=$row[observaciones]></td>
<td><input type=submit name='boton_actualizar' value=ACTUALIZAR></td>
</tr></form>";

}

// Cierro la conexion
Mysql_close($conexion);

?>
  #18 (permalink)  
Antiguo 10/09/2009, 19:57
 
Fecha de Ingreso: agosto-2009
Mensajes: 11
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: actualizar registro db mysql

por fin pude enviarlo... mira ahora mi dilema es que no se ejecuta el código... me sale este error
Forbidden

You don't have permission to access /actualiza_habitantes.php* on this server.

Apache/2.2.4 (Win32) PHP/5.2.3 Server at localhost Port 80


realmente no se a que se deba... si alguien puede por favor ayudarme, le estaría muy agradecida... gracias...
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 11:55.