Foros del Web » Programando para Internet » PHP »

No me funciona el udpate

Estas en el tema de No me funciona el udpate en el foro de PHP en Foros del Web. hola miren estoy tratando de hacer una consulta de update pero la verdad no me funciona no se cual sea mi error espero y puedan ...
  #1 (permalink)  
Antiguo 19/05/2012, 11:02
 
Fecha de Ingreso: mayo-2012
Mensajes: 30
Antigüedad: 11 años, 11 meses
Puntos: 0
Pregunta No me funciona el udpate

hola miren estoy tratando de hacer una consulta de update pero la verdad no me funciona no se cual sea mi error espero y puedan ayudarme

este es el primer formulario donde les aparece en una tabla todos los libros de la base de datos

<?php
session_start();//**Se pone para saber que usuario esta en esta pagina, siempre va arriba de cualquier otro codigo
//**Se llama a la conexion de la base de datos**//
if(!$_SESSION["usuario"])//si el usuario no se ha ingresado en el sistema desde login.php lo manda a la pagina de login.php
{
echo "<script>alert('Para acceder al contenido de esta pagina necesitas loguearte');
window.location='../login.php';
</script>";
}
mysql_connect("","","") or die("No se pudo conectar a la base de datos");
//SELECCIONAMOS LA BASE DE DATOS CON LA CUAL VAMOS A TRABAJAR CAMBIEN EL VALOR POR LA SUYA
mysql_select_db("");

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin tÃ*tulo</title>
<style type="text/css">
<!--
body,td,th {
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #0033CC;
font-weight: bold;
}
a:link {
color: #0033CC;
}
a:visited {
color: #0033CC;
}
-->
</style></head>

<body>
<center>


<p><a href="../usuarios.php">Volver</a></p>
<p><a href="espanol.html">Agregar nuevo libro </a> </p>
<table width="95%" border="1" align="center">
<?php
$libros=mysql_query("SELECT id_documento,titulo,descripcion,contenido,tamanio, tipo,nombre_archivo,tamanio_unidad FROM tbl_documentos");
?>
<tr>
<td><div align="center">Libro </div></td>
<td><div align="center">Descripcion</div></td>
<td><div align="center">Documento</div></td>
<td><div align="center">MODIFICAR</div></td>
<td><div align="center">BORRAR</div></td>
</tr>
<?php
while($fila=mysql_fetch_array($libros))
{
?>
<tr>

<td><?php echo $fila[titulo] ?></td>
<td><?php echo $fila[descripcion] ?></td>
<td><?php echo $fila[nombre_archivo] ?></td>

<td><div align="center"><a href="verlibro.php?id_documento=<?php echo $fila['id_documento'] ?>">Modificar</a></div></td>
<td><div align="center"><a href="borrar.php?id_documento=<?php echo $fila['id_documento'] ?>">Borrar</a></div></td>
</tr>
<?php
}
?>
</table>
<p>&nbsp; </p>
</center>
<p>&nbsp;</p>
</body>
</html>


este es el segundo donde el usuario puede ver el libro seleccionado:

<?php
$id_documento=$_GET[id_documento];
echo $id_documento;
session_start();//**Se pone para saber que usuario esta en esta pagina, siempre va arriba de cualquier otro codigo
//**Se llama a la conexion de la base de datos**//
if(!$_SESSION["usuario"])//si el usuario no se ha ingresado en el sistema desde login.php lo manda a la pagina de login.php
{
echo "<script>alert('Para acceder al contenido de esta pagina necesitas loguearte');
window.location='../login.php';
</script>";
}
//**Se realiza la conexion a la base de datos**//

$cnx = mysql_connect("","","") or die("No se pudo conectar a la base de datos");
//SELECCIONAMOS LA BASE DE DATOS CON LA CUAL VAMOS A TRABAJAR CAMBIEN EL VALOR POR LA SUYA
mysql_select_db("", $cnx);


$seleccionar=mysql_query("SELECT * FROM tbl_documentos WHERE id_documento='$id_documento'");
$fila=mysql_fetch_array($seleccionar);
$titulo=$fila['titulo'];
$descripcion=$fila['descripcion'];
$nombre_archivo=$fila['nombre_archivo'];
?>

<form id="test_upload" enctype="multipart/form-data" method="post" action="modificar.php" name="test_upload">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>Titulo </td>
<td><input id="titulo" name="titulo" type="text" value="<?php echo $titulo ?>" </td>
</tr>
<tr>
<td colspan="2">Descripcion </td>
</tr>
<tr>
<td colspan="2"><textarea id="descripcion" rows="5" cols="50" name="descripcion"></textarea> </td>
</tr>
<tr>
<td colspan="2">Archivo <input id="archivo" type="file" name="archivo" /> </td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Registrar Documento" /> </td>
</tr>
</tbody>
</table>
</form>


y por ultimo este es el codigo que uso para modificar el libro en caso de que el usuario de clic a modificar pero al imprimir la consulta veo que no esta jalando el id_documento y no se que estoy haciendo mal gracias por su ayuda.

<?php
$id_documento=$_POST['id_documento'];
$titulo=$_POST['titulo'];
$descripcion=$_POST['descripcion'];

$cnx = mysql_connect("","","") or die("No se pudo conectar a la base de datos");
//SELECCIONAMOS LA BASE DE DATOS CON LA CUAL VAMOS A TRABAJAR CAMBIEN EL VALOR POR LA SUYA
mysql_select_db("", $cnx);

$modificar="UPDATE tbl_documentos SET titulo='$titulo', descripcion='$descripcion' WHERE id_documento='$id_documento'";
echo $modificar;
if(mysql_query($modificar)){
echo "<script>alert('Libro modificado satisfactoriamente');
window.location='index2.php';
</script>";
}
else
{
echo "<script>alert('No se pudo modificar');
window.location='verlibro.php?id_documento=$id_doc umento';
</script>";
}
?>
  #2 (permalink)  
Antiguo 19/05/2012, 11:11
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: No me funciona el udpate

te falta meter en el form la variable $id_documento.
Lo puedes hacer con un campo hidden.
Código PHP:

<form id="test_upload" enctype="multipart/form-data" method="post" action="modificar.php" name="test_upload">
<
table border="0" cellspacing="0" cellpadding="0">
<
tbody>
<
input id="id_documento" name="id_documento" type="hidden" value="$id_documento"
Saludos!
  #3 (permalink)  
Antiguo 19/05/2012, 11:24
 
Fecha de Ingreso: mayo-2012
Mensajes: 30
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: No me funciona el udpate

hola le agregue eso que me sugeriste pero sigue sin actualizar no sabes a que se debe el error? muchas gracias
  #4 (permalink)  
Antiguo 19/05/2012, 11:27
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: No me funciona el udpate

mmm, has visto, en el navegador, si dicho campo id_documento tiene el valor correcto?

miralo y di algo...
  #5 (permalink)  
Antiguo 19/05/2012, 11:29
 
Fecha de Ingreso: mayo-2012
Mensajes: 30
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: No me funciona el udpate

si en el navegador aparece el id_documento correspondiente segun sea el libro es por lo que me parece extrano que se ejecute la consulta y no modifique nada
  #6 (permalink)  
Antiguo 19/05/2012, 11:35
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: No me funciona el udpate

el echo $modificar, te aparece el select con id_documento correcto?
(puedes postear esta variable?)
si es así, has probado de copiar y pegar en phpmyadmin y ver que ocurre?


Te da algun error o simplemente no hace nada?
  #7 (permalink)  
Antiguo 19/05/2012, 11:41
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: No me funciona el udpate

no lo creo, pero pudes intentar con
Código PHP:
"UPDATE `tbl_documentos` SET `titulo`='$titulo', `descripcion`='$descripcion' WHERE `id_documento`='$id_documento'" 
  #8 (permalink)  
Antiguo 19/05/2012, 11:45
 
Fecha de Ingreso: mayo-2012
Mensajes: 30
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: No me funciona el udpate

mira esto es lo que me aparece en el echo $modificar:

UPDATE tbl_documentos SET titulo='Prueba2', descripcion='Realizando prueba de Consulta Update', WHERE id_documento='$id_documento'

y ahi mismo el mensaje de "LIBRO MODIFICADO" pero al regresar al index veo que no a modificado nada, los datos siguen siendo los mismos

lo que me parece raro o no se si sea normal por que la verdad apenas estoy aprendiendo php y mysql es que por que la modificacion del titulo y de la descripcion si se ven cuando imprimo la consulta pero lo del id_documento no, acaso no estara jalando el id_documento? en Verdad muchas gracias por tu ayuda
  #9 (permalink)  
Antiguo 19/05/2012, 11:52
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: No me funciona el udpate

Aqui aparece una coma, antes de where que según código no deberia aparecer.
  #10 (permalink)  
Antiguo 19/05/2012, 11:57
 
Fecha de Ingreso: mayo-2012
Mensajes: 30
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: No me funciona el udpate

si tienes razon esa coma fue error mio lo transcribi para mostrarte lo que imprime la consulta mil disculpas :( jeje en realidad cuando imprime la consulta esa coma no aparece
  #11 (permalink)  
Antiguo 19/05/2012, 12:10
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: No me funciona el udpate

Código PHP:
<form id="test_upload" enctype="multipart/form-data" method="post" action="modificar.php" name="test_upload">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<input id="id_documento" name="id_documento" type="hidden" value="<?php echo $id_documento;?>">

disculpa!! culpa mia. Ese es el códido.
Y ahora, si no funciona, fíjate en el navegador, que en <input .. id_documneto, value tenga el valor de $id_documento, es decir 12,44..lo que sea, pero NO "$id_documento".

Venga, a ver si lo conseguimos.
  #12 (permalink)  
Antiguo 19/05/2012, 12:17
 
Fecha de Ingreso: mayo-2012
Mensajes: 30
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: No me funciona el udpate

hey tienes razon muchisismas gracias ya me funciono :) eres un genio y en verdad gracias por tu ayuda :) hace unas horas no lo hubiera logrado sola ;) jeje agradezo muchas veces por que te lo mereces jeje :)
  #13 (permalink)  
Antiguo 19/05/2012, 12:20
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: No me funciona el udpate

si fuera un genio, con un mensaje lo habríamos solucionado!

Además, dentro de la lámpara no hay internet...

Salud!
  #14 (permalink)  
Antiguo 19/05/2012, 12:21
 
Fecha de Ingreso: mayo-2012
Mensajes: 30
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: No me funciona el udpate

jeje tienes razon pero en verdad gracias por tu ayuda :)

Etiquetas: formulario, html, mysql, sql, tabla, usuarios
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 20:18.