Foros del Web » Programando para Internet » PHP »

Subida multiple de imagenes a servidor guardando ruta en mysql

Estas en el tema de Subida multiple de imagenes a servidor guardando ruta en mysql en el foro de PHP en Foros del Web. Hola , buenas a tod@s soy novato en el tema de php y estaba tratando de subir varias imágenes a una carpeta especifica de mi ...
  #1 (permalink)  
Antiguo 05/05/2014, 14:35
 
Fecha de Ingreso: mayo-2014
Mensajes: 30
Antigüedad: 9 años, 11 meses
Puntos: 0
Pregunta Subida multiple de imagenes a servidor y guardar ruta en BD

Hola ,
buenas a tod@s soy novato en el tema de php y estaba tratando de subir varias imágenes a una carpeta especifica de mi servidor y guardar dicha ruta en la base de datos.
Querria hacer algo que fuese sencillo y que me sirva también para aprender.
Mi base de datos es mas o menos asi.

product_images

id_img
id_product
url_image
alt_image
title_image

Un saludo y gracias de antemano!
  #2 (permalink)  
Antiguo 05/05/2014, 15:52
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Subida multiple de imagenes a servidor guardando ruta en mysql

A veces, una simple búsqueda en Google, puede solucionarnos muchos problemas: Subir varios archivos con PHP .

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 05/05/2014, 18:46
 
Fecha de Ingreso: mayo-2014
Mensajes: 19
Antigüedad: 9 años, 11 meses
Puntos: 1
Respuesta: Subida multiple de imagenes a servidor y guardar ruta en BD

El tema no es muy complicado y tampoco muy complejo. Lo recomendable es que la imagen se situe en una carpeta /img por lo cual yo te recomiendo que cuando la graves tuliza la ruta img.DIRECTORY_SEPARATOR./nombre_a_crear.png (el formato que tu quieras).Tambien hay otro tema pero te convendria verlo mas adelante que es el tipo de tipificacion que utiliza tu servidor web (ello trae problemas con las ñ y acentos).

Antes que todo simpre piensa en tu codigo, que simpre habra alguien que sepa mas que tu en el tema de seguridad por lo cual no le facilitemos las cosas es decir cubramos lo basico seguridad anti sql-inyection,xss,etc, esto es una muy buena norma no dejar la seguridad para lo ultimo, me ha pasado que he lamentado no prestarle atencion jaja


Al momento de realizar el insert cargarias cada uno de los campos y el ultimo campo con la ruta generada. Para facilitar esto haz una insercion manual desde el phpmyadmin y copia el codigo ^^ y modificales despues los campos php.

Espero que te sirva y no dudes en consultarme si te encuentras con algun inconveniente.
  #4 (permalink)  
Antiguo 06/05/2014, 02:46
 
Fecha de Ingreso: mayo-2014
Mensajes: 30
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Subida multiple de imagenes a servidor guardando ruta en mysql

Gracias por todo lo tendre en cuenta.Aun no he empezado con ello asi que cuando este dandole ya os comentare como va.
Gracias de nuevo
  #5 (permalink)  
Antiguo 06/05/2014, 03:01
 
Fecha de Ingreso: mayo-2014
Mensajes: 30
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Subida multiple de imagenes a servidor guardando ruta en mysql

Tengo otra duda que no viene mucho al caso.Como puedo hacer que un update de mysql dentro de un foreach no me sobreescriba datos si no que muestre cada uno como debe. El codigo es el siguiente.
if(isset($_POST['becho']))
{

foreach($_POST['becho'] as $valor)
{

$sql="UPDATE category SET id_category_parent='$valor',date_mod='$fecha_mod' WHERE id_category=$id_category";
$resultado=mysql_query($sql,$conex) or die("Error: ".mysql_error());
}

}
Me pinta el mismo registro dos veces en vez de hacerlo para cada $valor.
Muchas gracias
  #6 (permalink)  
Antiguo 06/05/2014, 03:27
 
Fecha de Ingreso: mayo-2011
Ubicación: Zaragoza
Mensajes: 58
Antigüedad: 12 años, 11 meses
Puntos: 5
Respuesta: Subida multiple de imagenes a servidor guardando ruta en mysql

Para esto que acabas de hacer suelen pedir por aqui que habras un post nuevo por pregunta, hay lo dejo .

Claro que te va a actualizar el mismo registro siempre: WHERE id_category=$id_category" esta es la condicion que dice que sea cual sea el valor pinte siempre el mismo registro.

Me explico?

Saludos.
  #7 (permalink)  
Antiguo 06/05/2014, 03:47
 
Fecha de Ingreso: mayo-2014
Mensajes: 30
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Subida multiple de imagenes a servidor guardando ruta en mysql

Ok. Pero como puedo hacerlo para que no lo haga asi...jeje
Un saludo!
  #8 (permalink)  
Antiguo 06/05/2014, 05:25
 
Fecha de Ingreso: mayo-2011
Ubicación: Zaragoza
Mensajes: 58
Antigüedad: 12 años, 11 meses
Puntos: 5
Respuesta: Subida multiple de imagenes a servidor guardando ruta en mysql

Que es $_POST['becho']? Imagino que sera un array con los datos a introducir no?. Por cada elemento de ese array necesitas el valor id de la fila a modificar.

Pongamos que recoges los datos asi:

Código HTML:
Ver original
  1. <input name="becho['id1']" type="text">
  2. <input name="becho['id2']" type="text">
  3. <input name="becho['id3']" type="text">
  4. <input name="becho['id4']" type="text">
  5. <input name="becho['id5']" type="text">

Ahora $_POST['becho'] tiene un array asi:

Cita:
array(
"id1"=> "valor",
"id2" => "valor2",
"id3" => "valor3",
"id4" => "valor4",
"id5" => "valor5",
)
lo que queda es hacer un foreach:

Código PHP:
Ver original
  1. foreach($_POST['becho'] as $key=>$valor){
  2. $sql="UPDATE category SET id_category_parent='$valor WHERE id_category=$key";
  3. ...
  4. }

Espero haberme explicado.

Saludos.
  #9 (permalink)  
Antiguo 06/05/2014, 05:40
 
Fecha de Ingreso: mayo-2014
Mensajes: 30
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Subida multiple de imagenes a servidor guardando ruta en mysql

Los estoy recogiendo de un checkbox cargado mediante una base de datos el problema es que lo hago tal y como me has indicado y sigue fallando en el mismo sitio.Me pinta el ultimo que marque en todos los casos.
Un saludo y gracias
  #10 (permalink)  
Antiguo 06/05/2014, 10:47
Avatar de HackID1  
Fecha de Ingreso: febrero-2013
Ubicación: En Update
Mensajes: 492
Antigüedad: 11 años, 2 meses
Puntos: 17
Respuesta: Subida multiple de imagenes a servidor guardando ruta en mysql

Quieres que se vean todos los datos que has seleccionado en el checkbox ???.
Y estos luego se actualicen ?.

Si es así creo que esta forma te podría ayudar.

Los checkbox del form deben tener un name de la siguiente forma:

Código PHP:
Ver original
  1. <input type='checkbox' name='actualiza[]' value='".$registro['id_category']."'/>
  2.  
  3. /*
  4. El $registro es porque los checkbox los creo con un bucle WHILE, si no es tu forma lo cambias..
  5.  
  6. while ($registro = mysql_fetch_array($result)) {
  7.             echo "<input type='checkbox' name='actualiza[]' value='".$registro['id_category']."'/> ";
  8. */

Así se guardan en un array los valores seleccionados distinguidos por el id_category.

Luego en el fichero procesar.php debes guardar el array en una variable y este separarlo por un implode.

Código PHP:
Ver original
  1. $actualiza= $_POST['actualiza'] ;   //Array con datos.
  2.                        
  3. $datos = "(" . implode(",", $actualiza) . ")";  //separo cada DATO seleccionado x coma y los guardo en $datos.
  4.  
  5.  
  6. /*
  7. Luego la consulta que vendría sería así. Comparando que los id_category estén (IN) sean iguales a id_category.
  8.  
  9. */
  10.  
  11. $query = "$sql="UPDATE category
  12.                 SET id_category_parent='valor A actualizar.'
  13.                 WHERE id_category IN $datos";

Espero y creo que eso es lo que quieres, este código lo he probado con unos checkbox y realizando una consulta para borrar los seleccionados, espero te valga para la actualización si lo entendí bien.

El código no esta probado, pero seguro te dará una idea general, claro si es esto lo que pides, sino disculpa

Saludooos!
__________________
Puntuar +1 es buena forma de dar las gracias. :P
Your Time is limited, so don't waste it living someone else´s life.
Por: HackID1
  #11 (permalink)  
Antiguo 07/05/2014, 01:22
 
Fecha de Ingreso: mayo-2014
Mensajes: 30
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Subida multiple de imagenes a servidor guardando ruta en mysql

Los estoy cogiendo de esta manera:
<tr>
<td>Category parent:</td>
<td>
<?php
//CORREGIR
$query="SELECT DISTINCT category.id_category,category.id_category_parent,c ategory_text.id_category,category_text.category_na me FROM category INNER JOIN category_text ON category.id_category = category_text.id_category GROUP BY category.id_category";
$result=@mysql_query($query,$conex) or die("Error: ".mysql_error());
$query2="SELECT id_category_parent FROM category WHERE id_category='$codigo'";
$result2=@mysql_query($query2,$conex) or die("Error: ".mysql_error());

$pos=0;
while ($fila2 = mysql_fetch_array($result2)){
$fila3[$pos]=$fila2["id_category_parent"];
$pos++;
}

while ($fila = mysql_fetch_array($result))
{
if(is_array($fila3) && in_array($fila["id_category"],$fila3))
{
echo "<input type='checkbox' name='becho[]' value='".$fila['id_category']."' checked>".$fila['category_name']."<br/>";
}
else
{
echo "<input type='checkbox' name='becho[]' value='".$fila['id_category']."'>".$fila['category_name']."<br/>";
}
}

?>

</td>
</tr>


Y el cógido que me has puesto te lo agradezco pero no me funciona me pone un error en el implode de invalid arguments.
Un saludo
  #12 (permalink)  
Antiguo 13/05/2014, 03:38
 
Fecha de Ingreso: mayo-2014
Mensajes: 30
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Subida multiple de imagenes a servidor guardando ruta en mysql

Alguien sabe como puedo hacerlo?? Un saludo y gracias

Etiquetas: imagenes+php, múltiple, mysql, mysql+php, servidor, subida
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:18.