Foros del Web » Programando para Internet » PHP »

Formulario con imagenes

Estas en el tema de Formulario con imagenes en el foro de PHP en Foros del Web. Hola que tal, tengo aca un problema que me surgio cuando estaba haciendo mi pagina. Es una pagina de noticias y que yo tengo hecho ...
  #1 (permalink)  
Antiguo 05/03/2009, 19:05
 
Fecha de Ingreso: marzo-2009
Mensajes: 2
Antigüedad: 15 años, 2 meses
Puntos: 0
Formulario con imagenes

Hola que tal, tengo aca un problema que me surgio cuando estaba haciendo mi pagina. Es una pagina de noticias y que yo tengo hecho formularios para subirlas. Una de las funciones es editar el articulo que subi que se llama edit_article. Ahora, como hice un par de updates a la pagina, puedo agregar multiples imagenes a los articulos. El problema surge cuando quiero editar el articulo. No se como hacer para que me tome los datos de mysql, dentro de un registro donde estan las imagenes separado por comas, que me los tilde en el formulario que hice con checkbox (ver imagen) dentro de edit_article. Si quieren ver como es la cosa vean esta foto.

dl.getdropbox.com/u/120828/screen.png

No se si quedo claro, porque es me es medio dificil explicarlo tal vez. Les muestro por lo menos el codigo de como puse esas imagenes dentro de edit_article
Código PHP:
$upload_dir = $image_folder ."/".$image_folder."/";
                $handle= opendir($upload_dir);
                $filelist = "";
                while (($file = readdir($handle)) !== false) 
                {
                    if(!is_dir($file) && !is_link($file)) 
                    {?>
                    <img src="img/thumb/<? echo $file;?>" alt='$file'>
                    <input type="CHECKBOX" name="file[]" value="<? echo $file;?>">
                    <?}
                }
Siendo image_folder, la carpeta de imagenes donde subo las fotos. Y se procesa asi el formulario por otra funcion.
Código PHP:
if ($_POST['task'] == "advancededit") 
    {
        $imageplus = $_POST['file'];
        var_dump($imageplus);
        //Setting up a blank variable to be used in the coming loop.
        $multipleimages = "";
        //For every checkbox value sent to the form.
        foreach ($imageplus as $images) 
        {
            // Append the string with the current array element, and then add a comma and a space at the end.
            $multipleimages .= $images . ",";
        }
        // Delete the last two characters from the string.
        $multipleimages = substr($multipleimages, 0, -1); 
        $newimages = $multipleimages;
        if ($_POST['submit_edit']) 
        {
            msqlcon();
            mysql_query("UPDATE ". s('prefix'). "articles SET title='$title' WHERE id='$id'");
            mysql_query("UPDATE ". s('prefix'). "articles SET text='$text' WHERE id='$id'");
            mysql_query("UPDATE ". s('prefix'). "articles SET textlimit='$text_limit' WHERE id='$id'");
            mysql_query("UPDATE ". s('prefix'). "articles SET category='$category' WHERE id='$id'");
            mysql_query("UPDATE ". s('prefix'). "articles SET position='$position' WHERE id='$id'");
            mysql_query("UPDATE ". s('prefix'). "articles SET displaytitle='$display_title' WHERE id='$id'");
            mysql_query("UPDATE ". s('prefix'). "articles SET displayinfo='$display_info' WHERE id='$id'");
            mysql_query("UPDATE ". s('prefix'). "articles SET commentable='$commentable' WHERE id='$id'");
            mysql_query("UPDATE ". s('prefix'). "articles SET image='$newimages' WHERE id='$id'");
            mysql_query("UPDATE ". s('prefix'). "articles SET swf='$swf' WHERE id='$id'");
            mysql_query("UPDATE ". s('prefix'). "articles SET publishuser='$publish_user' WHERE id='$id'");        
            mysql_query("UPDATE ". s('prefix'). "articles SET materia='$materia' WHERE id='$id'");
            mysql_query("UPDATE ". s('prefix'). "articles SET materialogo='$materia_logo' WHERE id='$id'");    
            mysql_query("UPDATE ". s('prefix'). "articles SET private='$private' WHERE id='$id'");
            mysql_query("UPDATE ". s('prefix'). "articles SET lastupdate='$datepost' WHERE id='$id'");
            msqlclose();
            echo "<h3>". l('operation_completed') ."</h3><h1><a href=\"index.php?id=" .$id. "\">". l('backtoedited') ."</a></h1>";
            ?><meta http-equiv="refresh" content="2; url=index.php?id=<?echo $id;?>"><?    
        
}
    }
Si alguien me puede ayudar, estare muy agradecido. Saludos atentamente. Chenci
  #2 (permalink)  
Antiguo 05/03/2009, 19:39
Avatar de jenusys  
Fecha de Ingreso: diciembre-2008
Ubicación: Ahí mismo.
Mensajes: 216
Antigüedad: 15 años, 4 meses
Puntos: 11
Respuesta: Formulario con imagenes

Creo que te podrías ahorrar ciertas líneas de código (y me corriges si es que las necesitas como están) si lo haces así:

msqlcon();
mysql_query("UPDATE ". s('prefix'). "articles SET title='$title', text='$text',textlimit='$text_limit', category='$category'..................aquí el resto de variables a actualizar............. WHERE id='$id'");

Además no me queda claro lo del . s('prefix'). aunque puede ser ignorancia de contexto por no conocer todo el código.

Yo utilizaría un ARRAY tipo EXPLODE para separar los registros separados por coma.

$imagen = explode(",", $elcontenidodelregistro);

Así puedes empezar a jugar con cada sub-registro
$primeraimagen = $imagen[0];

Espero haberte dado buenas pistas.
  #3 (permalink)  
Antiguo 05/03/2009, 21:38
 
Fecha de Ingreso: marzo-2009
Mensajes: 2
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Formulario con imagenes

gracias por contestar. el s('prefix') es prefijo de las tablas por si lo necesitaba, que solia usarlo en varias ocaciones. Con respecto al explode, como lo aplico para el formulario de checkbox, tipo uno no sabe cuantas fotos tiene en una carpeta y el array este $primeraimagen = $imagen[0] como lo usaria. Es medio dificil de explicar. Lo que necesito es, si en un query que hago encuentra en el campo images
1.jpg,2.jpg,3.jpg esos valores, yo quiero que esos 3 imagenes dentro de todas las imagenes que tengo en la carpeta de fotos, esten tildados en el forumulario de checkbox que les mostre con el link de recien. Avisame si hay otra duda que no entiendas. De vuelta gracias y salu2

PD: me olvide decirte, es verdad uno ahorra mucho codigo, pero asi lo tengo ordenado para agregar cosas y borrar cosas mas facilmente. En otras palabras, mejor para copy paste
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 03:36.