Foros del Web » Programando para Internet » PHP »

Problema de novato en modificacion de registros

Estas en el tema de Problema de novato en modificacion de registros en el foro de PHP en Foros del Web. HOla como estan? tengo una aplicacion para modificar los registros dentro de una base de datos que contiene varias tablas. Para esto use un combo ...
  #1 (permalink)  
Antiguo 03/04/2008, 16:31
 
Fecha de Ingreso: septiembre-2007
Mensajes: 120
Antigüedad: 16 años, 7 meses
Puntos: 0
Exclamación Problema de novato en modificacion de registros

HOla como estan? tengo una aplicacion para modificar los registros dentro de una base de datos que contiene varias tablas. Para esto use un combo box para seleccionar la tabla y un campo de busqueda. Cuando hago la consulta guardo los valores del registro en imput text a fin de que el usuario pueda modificar el registro y almacenarlo nuevamente. El codigo completo lo tengo asi
Código PHP:
<body>
<form id="form1" name="form1" method="post" action="">
<label><input type="text" name="buscar" /></label>
Selecciona el diplomado donde desea buscar: <label><select name="base" id="select">
    <option value="dhumanos">Derechos Humanos</option>
    <option value="dinternacional">Derecho Internacional Humanitario</option>  
<label><input type="submit" name="Submit" value="Submit" /></label>
</form>

<?php 
include "conexion.php";

$tabla=$_POST['base'];

$sql"select * from $tabla where id='$_POST[buscar]' or nombre='$_POST[buscar]'";

$consultamysql_query($sql,$conexion);

if(list (
$id,$nombre,$apellido,$cedula,$sexo,$email,$codigo,$telefono) = mysql_fetch_array($consulta)) {
?>

<form id="form2" name="form2" method="post" action="">

<label>Nombre: <input name="nombre" type="text" value="<?php print $nombre;?>" /></label><br>
<label>Apellido: <input name="apellido" type="text" value="<?php print $apellido;?>" /></label><br>
<label>Cedula: <input name="cedula" type="text" value="<?php print $cedula;?>" /></label><br>

<label><input name="sexo" type="radio" value="mujer"   <?php  if($sexo=="mujer") {?>  checked="checked" <?php }?> /> Mujer</label>
<label><input name="sexo" type="radio" value="hombre"  <?php  if($sexo=="hombre") {?>  checked="checked" <?php }?> /> Hombre</label><br>

<label>email: <input name="email" type="text" value="<?php print $email;?>" /></label><br>
<label>Codigo: <input name="codigo" type="text" value="<?php print $codigo;?>" /></label><br>
<label>Telefono: <input name="telefono" type="text" value="<?php print $telefono;?>" /></label><br>
<input name="oculto" type="hidden" id="oculto" value="<?php print $id;?>" />

<?php 
else {print 
"dato no encontrado";}
?>
<br><br>
<label><input type="submit" name="Submit2" value="Modificar" /> </label></p>
</form>
  
<?php 
if ($_POST[oculto]){
  
$sql="update $tabla set nombre='$_POST[nombre]',apellido='$_POST[apellido]',cedula='$_POST[cedula]',sexo='$_POST[sexo]',email='$_POST[email]',codigo='$_POST[codigo]',telefono='$_POST[telefono]' where id='$_POST[oculto]'";

$consulta=mysql_query ($sql$conexion);

if(!
mysql_error ()) {print "se modifico con exito";}
else{ print 
"fallo en la modificacion";}

mysql_close ($conexion); } 
  
?>
  
</body>
El problema se me presenta justamente con el combobox que al no mantener el valor de la tabla en la que se hace la consulta,al modificar, me falla la aplicacion.

Espero puedan ayudarme gracias
  #2 (permalink)  
Antiguo 03/04/2008, 18:21
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Problema de novato en modificacion de registros

Mmm... te lanza algún error? Veo que en tu formulario abres el tag <select>, y no lo cierras (Falta el </select>). Imagino que esa es la causa del problema.

Un saludo,
  #3 (permalink)  
Antiguo 04/04/2008, 09:49
 
Fecha de Ingreso: septiembre-2007
Mensajes: 120
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problema de novato en modificacion de registros

Hola Okram, el </select> si lo tengo lo que pasa es que eran mas opciones y para poner el codigo mas corto fui borrando y me comi el cierre del </select>. El error que me da es que no se produce la modificacion. La aplicacion efectivamente llama al registro solo que al momento de hacer el update falla. Es decir lo que corresponde a la modificacion no se cumple. SI me pueden ayudar Gracias
  #4 (permalink)  
Antiguo 04/04/2008, 10:03
 
Fecha de Ingreso: noviembre-2005
Mensajes: 222
Antigüedad: 18 años, 5 meses
Puntos: 2
Re: Problema de novato en modificacion de registros

es posible que los campos en tu tabla no estén como aqui.

prueba a poner
Código PHP:
$consulta=mysql_query ($sql$conexion) or die(mysql_error()); 
asi veremos el error que te da
  #5 (permalink)  
Antiguo 04/04/2008, 10:19
 
Fecha de Ingreso: septiembre-2007
Mensajes: 120
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problema de novato en modificacion de registros

Me da el siguiente error:

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where id='' or nombre=''' at line 1"

Lo que no entiendo es que lo causa porque inicialmente cuando estaba haciendo el codigo probe directamente con el nombre de un tabla X en el query y me funcionaba perfectamente. El problema va cuando cambien el nombre de la tabla por la variable con la cual mando el nombre de la tabla que la tengo definida asi

Código HTML:
<label><select name="base" id="select">
    <option value="dhumanos">Derechos Humanos</option>
    <option value="dinternacional">Derecho Internacional Humanitario</option>
</select></label> 
y el query asi

Código PHP:
<?php 
include "conexion.php";
$tabla=$_POST['base'];

$sql"select * from $tabla where id='$_POST[buscar]' or nombre='$_POST[buscar]'";

$consulta=mysql_query ($sql$conexion) or die(mysql_error());  

if(list (
$id,$nombre,$apellido,$cedula,$sexo,$email,$codigo,$telefono,$fecha,$opcional,$egreso,$carrera,$pactual,$banco,$deposito) = mysql_fetch_array($consulta)) {

?>
Pero de verdad necesito poner una opcion para que el usuario seleccione la tabla (son 17 tablas dentro de la base de datos) de la que quiere llamar el registro para despues modificarlo

AUXILIOOOOOO

gracias
  #6 (permalink)  
Antiguo 04/04/2008, 11:31
 
Fecha de Ingreso: noviembre-2005
Mensajes: 222
Antigüedad: 18 años, 5 meses
Puntos: 2
Re: Problema de novato en modificacion de registros

prueba esto
Código PHP:
$buscar=$_POST["buscar"];
$sql"select * from $tabla where id='$buscar' or nombre='$buscar'" 
creo que el error es que en $_POST no pones las comillas. Como no sé como tienes configurado tu host con las comillas y no quiero que te pelees con ellas para acabar antes prueba eso a ver.

suerte
  #7 (permalink)  
Antiguo 04/04/2008, 12:36
 
Fecha de Ingreso: septiembre-2007
Mensajes: 120
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problema de novato en modificacion de registros

Hola, gracias por preguntar. Ya lo habia probado correindo unicamente variables en el query y continua dando el mismo error. Esta configurado para usar las comillas simples Gracias por responder
  #8 (permalink)  
Antiguo 04/04/2008, 13:29
 
Fecha de Ingreso: septiembre-2007
Mensajes: 120
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problema de novato en modificacion de registros

creo que estoy bien fastidioso con esto, disculpen, pero alguien me podria ayudar?? 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 13:47.