Ver Mensaje Individual
  #19 (permalink)  
Antiguo 09/05/2012, 17:41
Avatar de Vector_Latino
Vector_Latino
 
Fecha de Ingreso: mayo-2012
Mensajes: 25
Antigüedad: 12 años
Puntos: 6
Respuesta: ¿Qué debo hacer para poder actualizar correctamente?

Hola,

Estuve haciendo un formulario muy sencillo, ya tu lo adaptaras a los datos que necesitas.

el formulario seria algo asi:

Código PHP:
<?php
function Conectarse(){
    if (!(
$link=mysql_connect("localhost","root",""))){
        exit();
    }
    if (!
mysql_select_db("nombreBaseDeDatos",$link)){
        exit();
    }
    return 
$link;
}
$link=Conectarse();
$alumno mysql_query("SELECT *  FROM `alumnos` where `id`= 123 LIMIT 1;",$link) or die(mysql_error()); 
  
?>
<form action="procesar.php" method="post" id="form1" enctype="multipart/form-data">
    Nombre:<br>
    <input type="text" name="name" value="<?php echo mysql_result$alumno 0,'nombre' ); ?>"/><br>
    Apellido:<br>
    <input type="text" name="apellido" value="<?php echo mysql_result$alumno 0,'apellidos' ); ?>"/><br>
    Foto:<br>
    <img src="<?php echo mysql_result$alumno 0,'ruta' ); ?>" /><br>
    Cambiar:
    <input type="file" name="foto" /><br>
    
    <input type="submit" value="Actualizar Datos"/><br>
</form>
Lo primero me conecto a la base de datos.
Luego muestro en el formulario los datos de un alumno determinado, en este caso suponiendo que cada alumno tiene un ID muestro los datos del alumno con id= 123.

con mysql_query ago laconsulta y en el formulario lo lleno los datos del alumno tomandolos con mysql_result, la imagen estaria en el campo "ruta", el cual siempre va a tener un valor sea la imagen por defecto o una nueva, luego coloco el input FILE que es para actualizar la imagen cuantas veces se quiera.
y por ultimo el submit, cada input con un su nombre.

Este formulario lo mando a la pagina procesar.php con POST, el codigo de procesar seria:

Código PHP:
$destino="../fotos/";
if (
is_uploaded_file($_FILES['foto']['tmp_name'])== true) { 
    
move_uploaded_file ($_FILES['foto']['tmp_name'], $destino.$_FILES ['foto']['name']); 
    
$ruta $destino.$_FILES['foto']['name']; 
    
$updatePhoto ', ruta = ' .$ruta
}else {
    
$updatePhoto $destino.'usuarioX.png'
}
$result mysql_query("UPDATE `alumnos` SET `nombre` = '".addslashes($_POST['name'])."', `apellidos` ='".addslashes($_POST['apellidos'])."', `ruta` ='".$updatePhoto."' WHERE (`alumno`.`id` ='123');",$link);
echo 
$updatePhoto
El código te debería funcionar correctamente.
Cualquier duda la colocas...
Espero que te sirva, Saludos.