Foros del Web » Programando para Internet » PHP »

Modificar Registros

Estas en el tema de Modificar Registros en el foro de PHP en Foros del Web. Hola gente! Tengo un archivo que trae datos de una DB para modificar, el tema es que anda fenomeno la parte de nombre, direccion, telefono ...
  #1 (permalink)  
Antiguo 29/11/2006, 07:02
 
Fecha de Ingreso: noviembre-2006
Ubicación: Capital Federal
Mensajes: 141
Antigüedad: 17 años, 5 meses
Puntos: 1
Modificar Registros

Hola gente!

Tengo un archivo que trae datos de una DB para modificar, el tema es que anda fenomeno la parte de nombre, direccion, telefono y email pero la parte de la imagen no me funciona del todo bien lo que hize fue mostrar la imagen actual y una opcion q dice "Cambiar Imagen" q lo que hace por medio de un radio button habilito el type=file para modificar la imagen (eso anda fenomeno!!)

Pero aca tengo el problema cuando no quiero cargar otra imagen y dejar la q tengo, le doy al boton modificar y pone vacio la imagen en la DB !! trate de pasar un hidden con la imagen pero no me funca!!!

Que me sugieren que haga?! o que podria hacer para q cuando no quiero modificar la imagen y conservar la q ya existe??!!

Este es el codigo

/modificar.php

<form action="modificar_reg_2.php" method="post" name="modificar" enctype="multipart/form-data">
<table border="0" cellpadding="0" cellspacing="1" class="blue" width="500">
<tr>
<td align="left" background="imagenes/blue_grad.gif" height="21">
<span class="tab"><strong> Modificar Usuarios</strong></span>
</td>
</tr>
<tr>
<td>
<table bgcolor="#ffffff" border="0" cellpadding="2" cellspacing="2" width="100%">
<tr align="center" class="green">
<td align="left" valign="top">
Nombre
</td>
<td align="left" valign="top">
Direccion
</td>
<td align="left" valign="top">
Telefono
</td>
<td align="left" valign="top">
Email
</td>
<td align="left" valign="top">
Imagen
</td>
<td align="left" valign="top">
Cambiar Imagen
<input type="radio" name="radio" value="yes" onclick="cambiarImagen();">
</td>
</tr>

</td>
</tr>
<?php
while( $row = mysql_fetch_array($result) )
{
$imagen = $row["imagen"];
printf("<tr><td><input type='hidden' name='id' size='1' value='%s' style='display:none;'>
<input type='text' name='nombre' size='15' value='%s'> </td>
<td><input type='text' name='direccion' size='15' value='%s'> </td>
<td><input type='text' name='telefono' size='15' value='%s'> </td>
<td><input type='text' name='email' size='15' value='%s'> </td>
<td> %s </td>
<td><input type='file' name='imagen' id='imagen_file' size='15' value='%s' disabled='true' > </td></tr>",
$row["id"], $row["nombre"], $row["direccion"], $row["telefono"], $row["email"], "<img src=\"images/".$imagen."\" width=\"90\" height=\"90\" align=\"center\" />", $row["imagen"] );
}
mysql_free_result($result);
?>
<tr>
<td align="center"><input type="submit" value="Modificar" name="b1" style="width: 65px;" ></td>
</tr>
</table>
</form>

//modificar_2.php

<?php
//conexion a la DB y updetea los datos
if (isset($id))
{
$link = mysql_connect("localhost", "");
mysql_select_db("tablacurso", $link);

//comprobamos si hay que subir la imagen
if ($_FILES['imagen']['size'] > 0)
{
//hay que subir la imagen
$imagen = $_FILES['imagen']['name'];

$sql = "UPDATE tablacurso SET nombre='$nombre', direccion='$direccion',".
"telefono='$telefono', email='$email', imagen='$imagen' WHERE id='$id'";

chmod($_FILES['imagen']['tmp_name'],777);
$upfile1=move_uploaded_file($_FILES['imagen']['tmp_name'], "images/".$imagen."");

$result = mysql_query($sql);

}
else
{
//no hay que subir la imagen
$sql = "UPDATE tablacurso SET nombre='$nombre', direccion='$direccion',".
"telefono='$telefono', email='$email' WHERE id='$id'";

$result = mysql_query($sql);

}

}
?>

El tema es que cuando no quiero modificar la imagen (dejar la que ya tengo!) entra al ELSE pero pone vacio el campo.

Hay alguna manera de pasarle por variable o algo la imagen que ya esta
o que se podria hacer???

Muchas gracias por su ayuda!!!!
  #2 (permalink)  
Antiguo 29/11/2006, 09:57
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
¿Probaste con el if asi?

Código PHP:
if ($_FILES['imagen']['name']==""
esto te comprueba que el campo este vacio, si lo esta te salta al else, yo es como lo suelo hacer y hasta ahora no me ha dado problemas.

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #3 (permalink)  
Antiguo 30/11/2006, 06:25
 
Fecha de Ingreso: noviembre-2006
Ubicación: Capital Federal
Mensajes: 141
Antigüedad: 17 años, 5 meses
Puntos: 1
Hola Bytevamp!!! gracias por tu ayuda!!!

Mira probe como me sugeristes y sigo con el mismo problema de que me pone el campo vacio, entra al else porque le pongo Echo como un alert para ver si entra y entra y la verdad lo pone vacio, me voy a fijar q no se este mandando nada raro.

Voy a copiar nuevamente el codigo a ver si encontramos algo raro!!!!

/modificar.php
<form action="modificar_reg_2.php" method="post" name="modificar" enctype="multipart/form-data">

<?php
if ( mysql_num_rows($result) > 0 )
{
while( $row = mysql_fetch_array($result) )
{
$imagen = $row["imagen"];
printf("<tr><td><input type='hidden' name='id' size='1' value='%s' style='display:none;'>
<input type='text' name='nombre' size='15' value='%s'> </td>
<td><input type='text' name='direccion' size='15' value='%s'> </td>
<td><input type='text' name='telefono' size='15' value='%s'> </td>
<td><input type='text' name='email' size='15' value='%s'> </td>
<td> %s </td>
<td><input type='file' name='imagen' id='imagen_file' size='15' value='%s' disabled='true' > </td></tr>
<tr><td colspan='6' align='center'><br><br><input type='submit' value='Modificar' name='b1' style='width: 65px;' ></td></tr>
",
$row["id"], $row["nombre"], $row["direccion"], $row["telefono"], $row["email"], "<img src=\"images/".$imagen."\" width=\"90\" height=\"90\" align=\"center\" />", $row["imagen"] );
}
}
else
{
echo ("<tr><td colspan='6' align='center'><br><br><strong>No existe ese NOMBRE !!!</strong></td></tr>");

}
mysql_free_result($result);

?>
</form>

//aca en modificar.php, note q en donde imprimo la imagen actual la busca en images/imagen.jpg (q eso esta bien y anda) y donde esta el type="file" el value directamente pone imagen.jpg asi q supuse que podia ser eso y le agregue al value images/.... y ahora los dos estan en la misma carpeta y todo pero sigue sn funcionar!!!

//modificar_reg_2.php
<?php
//conexion a la DB y updetea los datos
if (isset($id))
{
$link = mysql_connect("localhost", "");
mysql_select_db("tablacurso", $link);

$imagen = $_FILES['imagen']['name'];
//comprobamos si hay que subir la imagen
if ( $imagen != "" )
{
//hay que subir la imagen
$imagen = $_FILES['imagen']['name'];

$sql = "UPDATE tablacurso SET nombre='$nombre', direccion='$direccion',".
"telefono='$telefono', email='$email', imagen='$imagen' WHERE id='$id'";

chmod($_FILES['imagen']['tmp_name'],777);
$upfile1=move_uploaded_file($_FILES['imagen']['tmp_name'], "images/".$imagen."");

$result = mysql_query($sql);

}
else
{

//no hay que subir la imagen
$sql = "UPDATE tablacurso SET nombre='$nombre', direccion='$direccion',".
"telefono='$telefono', email='$email' WHERE id='$id'";

$result = mysql_query($sql);

}
}
?>

muchas gracias!!!!!!!!!
  #4 (permalink)  
Antiguo 30/11/2006, 06:41
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
a ver prueba con poner
Código PHP:
<input type='file' name='imagen' id='imagen_file' size='15'
en modificar.php en lugar de
Código PHP:
<input type='file' name='imagen' id='imagen_file' size='15' value='%s' disabled='true' 
A ver si asi.

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
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 14:33.