Foros del Web » Programando para Internet » PHP »

Problema con Update

Estas en el tema de Problema con Update en el foro de PHP en Foros del Web. Hola tengo un problema para poder hace run update de datos de base de datos, les dejo el codigo de fuente para ver si me ...
  #1 (permalink)  
Antiguo 05/04/2009, 10:11
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 3 meses
Puntos: 1
Problema con Update

Hola tengo un problema para poder hace run update de datos de base de datos, les dejo el codigo de fuente para ver si me pueden ayudar.

Archivo: list_records.php

Código PHP:
<?php
$host
="localhost"// Host name 
$username="root"// Mysql username 
$password=""// Mysql password 
$db_name="charter"// Database name 
$tbl_name="clientes"// Table name 

// Connect to server and select database.
mysql_connect("$host""$username""$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
?>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>
<table width="400" border="1" cellspacing="0" cellpadding="3">
<tr>
<td colspan="4"><strong>Listar clientes </strong> </td>
</tr>

<tr>
<td align="center"><strong>Apellido</strong></td>
<td align="center"><strong>Nombre</strong></td>
<td align="center"><strong>Direccion</strong></td>
<td align="center"><strong>Update</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td><? echo $rows['Apellido']; ?></td>
<td><? echo $rows['Nombre']; ?></td>
<td><? echo $rows['Direccion']; ?></td>


<td align="center"><a href="update.php?id=<? echo $rows['id_cliente']; ?>">Update</a></td>
</tr>
<?php
}
?>
</table>
</td>
</tr>
</table>
<?php
mysql_close
();
?>
Este seria el primer php que listaria todos los datos pero aca no me trae ningun dato, solo me muestra los datos de la tabla armado pero no me trae los registros de la DB.

Archivo: update.php

Código PHP:
<?php
$host
="localhost"// Host name 
$username="root"// Mysql username 
$password=""// Mysql password 
$db_name="charter"// Database name 
$tbl_name="clientes"// Table name 

// Connect to server and select database.
mysql_connect("$host""$username""$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// get value of id that sent from address bar
$id=$_GET['id_clientes'];


// Retrieve data from database 
$sql="SELECT * FROM $tbl_name WHERE id='$id_clientes'";
$result=mysql_query($sql);

$rows=mysql_fetch_array($result);
?>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<form name="form1" method="post" action="update_ac.php">
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>&nbsp;</td>
<td colspan="3"><strong>Update datos del cliente</strong> </td>
</tr>
<tr>
<td align="center">&nbsp;</td>
<td align="center">&nbsp;</td>
<td align="center">&nbsp;</td>
<td align="center">&nbsp;</td>
</tr>
<tr>
<td align="center">&nbsp;</td>
<td align="center"><strong>Apellido</strong></td>
<td align="center"><strong>Nombre</strong></td>
<td align="center"><strong>Direccion</strong></td>
</tr>
<tr>
<td>&nbsp;</td>
<td align="center"><input name="Apellido" type="text" id="Apellido" value="<? echo $rows['Apellido']; ?>"></td>
<td align="center"><input name="Nombre" type="text" id="Nombre" value="<? echo $rows['Nombre']; ?>" size="15"></td>
<td><input name="Direccion" type="text" id="Direccion" value="<? echo $rows['Direccion']; ?>" size="15"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input name="id_clientes" type="hidden" id="id_clientes" value="<? echo $rows['id_clientes']; ?>"></td>
<td align="center"><input type="submit" name="Submit" value="Submit"></td>
<td>&nbsp;</td>
</tr>
</table>
</td>
</form>
</tr>
</table>

<?

// close connection 
mysql_close();

?>
En este php ya me comienza a tirar error que es el siguiente:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\Charter\update.php on line 20
Update datos del cliente

Archivo: update_ac.php

Código PHP:
<?php
$host
="localhost"// Host name 
$username="root"// Mysql username 
$password=""// Mysql password 
$db_name="charter"// Database name 
$tbl_name="clientes"// Table name 

// Connect to server and select database.
mysql_connect("$host""$username""$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// update data in mysql database 
$sql="UPDATE $tbl_name SET Apellido='$Apellido', Nombre='$Nombre', Direccion='$Direccion' WHERE id='$id_clientes'";
$result=mysql_query($sql);

// if successfully updated. 
if($result){
echo 
"Exito";
echo 
"<BR>";
echo 
"<a href='list_records.php'>Ver Resultados</a>";
}

else {
echo 
"ERROR";
}

?>
La verdad que me supero, no logro deducir cual puede ser el error en este script, aclaro que estoy corriendo esto en mi pc por eso no utilizo pass en mi mysql

Desde ya muy agradecido si alguien puede darme una mano con esto.

Salu2
  #2 (permalink)  
Antiguo 05/04/2009, 10:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con Update

Haz esto, cambia la línea del error (en el archivo update.php) por:
Código php:
Ver original
  1. $result=mysql_query($sql) or die(mysql_error());
Allí te va a mostrar cuál es el error exacto que hay en la consulta.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 05/04/2009, 11:03
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Problema con Update

Ahora me tira el siguiente error:

Notice: Undefined index: id_clientes in C:\Program Files\EasyPHP 2.0b1\www\Charter\update.php on line 13

Notice: Undefined variable: id_clientes in C:\Program Files\EasyPHP 2.0b1\www\Charter\update.php on line 17
La columna 'id' en where clause es desconocida

Igual sigue sin mostrarme los datos de los clientes que tengo en mi DB en el php list_records.php

Salu2
  #4 (permalink)  
Antiguo 05/04/2009, 11:07
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con Update

El primer error ocurre porque el formulario lo envías por POST mientras que tratas de recuperar el dato con $_GET.

Y el error en la consulta SQL es que la columna id no existe en la tabla.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 05/04/2009, 11:23
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Problema con Update

Sigue con error, el problema creo que radica en el php list_record.php ahi solo me muestra la tabla pero no me trae los datos de mi DB, coloco el script de mi DB para ver si puedes darme una mano a ver porque no me lista a mis clientes.

Saludos y gracias nuevamente


Código PHP:
-- Estructura de tabla para la tabla `clientes`
-- 

CREATE TABLE `clientes` (
  `
id_clienteint(50NOT NULL auto_increment,
  `
Apellidovarchar(100NOT NULL,
  `
Nombrevarchar(100NOT NULL,
  `
Direccionvarchar(100NOT NULL,
  `
Telefonovarchar(100NOT NULL,
  `
Celularvarchar(100NOT NULL,
  `
Localidadvarchar(100NOT NULL,
  `
Observacionesvarchar(100NOT NULL,
  
PRIMARY KEY  (`id_cliente`)
ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=15 
  #6 (permalink)  
Antiguo 05/04/2009, 11:30
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con Update

No existe ningún campo id.

Tal vez la consulta debiera ser:
Código MySQL:
Ver original
  1. SELECT * FROM $tbl_name WHERE id_cliente='$id_clientes'
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 05/04/2009, 11:48
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Problema con Update

sigue con el error igual gracias por la ayuda

Salu2
  #8 (permalink)  
Antiguo 05/04/2009, 11:50
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con Update

Por favor, especifica más sobre los errores que te da, sólo así podremos ayudarte.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 05/04/2009, 12:00
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Problema con Update

Realice la modificacion en list_records.php y lo deje asi de esta manera:

Código PHP:
<?php
$host
="localhost"// Host name 
$username="root"// Mysql username 
$password=""// Mysql password 
$db_name="charter"// Database name 
$tbl_name="clientes"// Table name 

// Connect to server and select database.
mysql_connect("$host""$username""$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

$sql="SELECT * FROM $tbl_name WHERE id_cliente='$id_clientes";
$result=mysql_query($sql);
?>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>
<table width="400" border="1" cellspacing="0" cellpadding="3">
<tr>
<td colspan="4"><strong>Listar clientes </strong> </td>
</tr>

<tr>
<td align="center"><strong>Apellido</strong></td>
<td align="center"><strong>Nombre</strong></td>
<td align="center"><strong>Direccion</strong></td>
<td align="center"><strong>Update</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>

<td><? echo $rows['$Apellido']; ?></td>
<td><? echo $rows['$Nombre']; ?></td>
<td><? echo $rows['$Direccion']; ?></td>


<td align="center"><a href="update.php?id=<? echo $rows['id_cliente']; ?>">Update</a></td>
</tr>
<?php
}
?>
</table>
</td>
</tr>
</table>
<?php
mysql_close
();
?>

Cuando lo ejecuto me tira el siguiente error:

Notice: Undefined variable: id_clientes in C:\Program Files\EasyPHP 2.0b1\www\Charter\list_records.php on line 12


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\Charter\list_records.php on line 30
  #10 (permalink)  
Antiguo 05/04/2009, 12:01
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con Update

¿De dónde obtienes el valor para $id_clientes? La notificación dice que esa variable no existe.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 05/04/2009, 12:30
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Problema con Update

A ver el script original es este:

list_records.php

Código PHP:
<?php
$host
="localhost"// Host name 
$username=""// Mysql username 
$password=""// Mysql password 
$db_name="test"// Database name 
$tbl_name="test_mysql"// Table name 

// Connect to server and select database.
mysql_connect("$host""$username""$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
?>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>
<table width="400" border="1" cellspacing="0" cellpadding="3">
<tr>
<td colspan="4"><strong>List data from mysql </strong> </td>
</tr>

<tr>
<td align="center"><strong>Name</strong></td>
<td align="center"><strong>Lastname</strong></td>
<td align="center"><strong>Email</strong></td>
<td align="center"><strong>Update</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td><? echo $rows['name']; ?></td>
<td><? echo $rows['lastname']; ?></td>
<td><? echo $rows['email']; ?></td>

// link to update.php and send value of id 
<td align="center"><a href="update.php?id=<? echo $rows['id']; ?>">update</a></td>
</tr>
<?php
}
?>
</table>
</td>
</tr>
</table>
<?php
mysql_close
();
?>
El Id_cliente lo obtengo de la DB, soy novato en esto por eso al utilizar este tipo de script me complique, el tema es que no tengo mucha idea como para crearlo yo solo de 0, lo que estoy haciendo aqui es reemplazar los campos dependiendo de los datos que tengo en mi DB.

Salu2
  #12 (permalink)  
Antiguo 05/04/2009, 12:44
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema con Update

Cambia:
Cita:
<? echo $rows['id']; ?>
Por:
Cita:
<?php echo $rows['id_cliente']; ?>
  #13 (permalink)  
Antiguo 05/04/2009, 12:55
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Problema con Update

Bueno ahora no me tira ningun error pero sigue sin mostrarme nada, te copio lo que me pone en pantalla:

// link to update.php and send value of id update
// link to update.php and send value of id update
// link to update.php and send value of id update
// link to update.php and send value of id
Listado de Clientes
Apellido Nombre Direccion Update
Update
Update
Update
Update
Update
Update
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 17:08.