Foros del Web » Programando para Internet » PHP »

Duda sobre PHP y MySQL: almacenar imagenes y videos.

Estas en el tema de Duda sobre PHP y MySQL: almacenar imagenes y videos. en el foro de PHP en Foros del Web. Hola y antes de nada gracias por leer este mensaje: Vereis estoy desarrollando una web con PHP y MySQL, pero me encuentro con una duda. ...
  #1 (permalink)  
Antiguo 31/03/2012, 04:25
 
Fecha de Ingreso: febrero-2002
Mensajes: 351
Antigüedad: 22 años, 9 meses
Puntos: 19
Duda sobre PHP y MySQL: almacenar imagenes y videos.

Hola y antes de nada gracias por leer este mensaje:

Vereis estoy desarrollando una web con PHP y MySQL, pero me encuentro con una duda.

Necesito crear los artículos de mi web, supongamos que en mi base de datos tengo dos campos: titulo_articulo y texto_articulo.

Bien, el caso es que necesitaría que estos artículos tengan un texto y luego debajo de esos textos aparezcan una galería de imágenes o un video.
Os pongo el ejemplo de un blog, donde debajo del texto del artículo pueden aparecer elementos multimedia. Un ejemplo:
http://www.vandal.net/noticia/66706/...fantasy-xiii2/

En ese caso hay imágenes, pero bien podría aparecer un video.

Pues mis preguntas son las siguientes:

1) ¿Cómo y dónde almaceno las url's de dichas imágenes o video?.
¿Se hace dentro del mismo campo del texto del articulo o se hace en otra tabla?.

2) En el caso de las imágenes, ¿cómo se hace para crear una galería con el tamaño en pequeñito para luego poder hacer clic sobre ellas y agrandarlas.
Si observáis el enlace que he puesto anteriormente, son 11 imagenes mostradas en 4 filas x 3 columnas.

¿Cómo se puede conseguir hacer esto con los datos almacenados de las imagenes en la base de datos?.

Es un tema complejo pero si me podéis dar algún enlace o información para entender estas cuestiones, os estaré muy agradecido.

Un saludo y millones de gracias por adelantado.
  #2 (permalink)  
Antiguo 31/03/2012, 07:47
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 13 años, 2 meses
Puntos: 140
Respuesta: Duda sobre PHP y MySQL: almacenar imagenes y videos.

Hola,

Esto lo puedes abordar de muchas maneras.

Por ejemplo, puedes crear otra tabla con todas las imagenes o videos, donde incluyes urls, descripción y un número o referencia según al artículo al que irá asociado cada imagen. Te será más facil que hacerlo en la misma tabla, ya que cada artículo supongo que tendrá unas cuantas imágenes...

Luego en la página, llamas a las dos tablas y cargas en cada caso el título/texto que corresponda al artículo, y abajo haces una condición para crear una tabla en donde se inserten todas las imágenes que cumplan que la referencia se corresponda al artículo en cuestión. Un ejemplo de cómo lo tengo yo para crear la tabla (en mi caso són de las filas que sean x 3 columnas, y además cada imágen tiene una descripción, precio y demás.):

Código PHP:
Ver original
  1. $query = mysql_query("SELECT * FROM items WHERE sec1 = ".$contingut." ORDER BY orden ASC") or die ("Error, pruebe más tarde"); // llama o la bd, tabla items, y selecciono las entradas donde sec1 (la referencia que relaciona cada imágen con un artículo) se corresponda con el artículo en cuestion
  2. $f=0; // comienza la creación de la tabla
  3. while($fila = mysql_fetch_assoc($query)) {
  4.     if ($f == 0) {echo "<table border=\"0\" cellspacing=\"5px\"><tr>";} // en el primer ciclo, creo la tabla
  5.     $f++;
  6.     echo "<td width=\"210px\" class=\"td\">";
  7.         echo "<a href=\"{$fila["imagen"]}\" rel=\"lightbox[roadtrip]\" title=\"{$fila["$alt"]}\">";
  8.         echo "<img height=\"124px;\" src=\"/p{$fila["imagen"]}\" alt=\"{$fila["$alt"]}\"></a>";
  9.         echo "<br><span class=\"estilo3\">----------------------------------</span>";
  10.     echo "<br><span class=\"estilo5\">{$fila["$texto"]}<br><span class=\"ref\"></span> {$fila["ref"]}, $preu <b>{$fila["preu"]} &euro;</b></span></td>";
  11.         }
  12.     if ($f == 3) { // cada 3 ciclos, cierro la tabla y contador a 0 para que se cree otra
  13.         echo "</tr></table>";
  14.         $f=0;}
  15.     }
  16.     if ($f != 3 and $f != 0) { echo "</tr></table>";} // si se han acabado las imágenes y no había cerrado la tabla, la cierro ahora.


Sobre tu pregunta sobre las imágenes pequeñas o grandes, puedes usar un javascript prefabricado como un lightbox, por la red corren unos cuantos. Si te fijas en el script que te he puesto, las imágenes usan un script de estos.

Además te recomiendo usar algún script php para que las imágenes pequeñas sean eso, imágenes pequeñas y no una simple redimensión de una imágen grande. De esta manera, la carga de la página será infinitamente más rápida.

Puedes usar para ello timthumb.php, un script php también gratuito y que funciona muy bien, si el servidor que tienes te lo permite. También en el ejemplo que te he puesto lo utilizo, por ello verás que la imágen que se muestra (la pequeña) y la imágen a la que se accede con el enlace (la grande) se encuentran alojadas en carpetas diferentes. En realidad es la misma imágen pero gracias al script timthumb, la imágen que se muestra en realidad es una miniaturización automática de la imágen original grande.

Puedes verlo funcionar en mi web, para que no se considere spam, simplemente ves al segundo link de mi firma y de ahí vas a la tienda online y te vas a cualquier sección de artículos.

saludos
  #3 (permalink)  
Antiguo 31/03/2012, 14:01
 
Fecha de Ingreso: febrero-2002
Mensajes: 351
Antigüedad: 22 años, 9 meses
Puntos: 19
Respuesta: Duda sobre PHP y MySQL: almacenar imagenes y videos.

Miles de gracias por la información que me ofreces charlyalegret

La verdad es que tienes razón en que se puede plantear de varias formas lo que necesito hacer, he estado dándole vueltas toda esta tarde y he encontrado varios caminos, pero claro siempre es mejor tener en cuenta los consejos y la información de alguien que lo haya hecho.

Lo de cargar las imágenes en grande, lo haré seguramente con jQuery, utilizando lightbox como bien me has aconsejado. Por eso creo que no voy a tener problemas.

En donde si tengo el problema realmente es en la base de datos, porque quiero hacer una web multilenguaje, y eso se suma a lo de buscar la mejor forma de almacenar la información de las imágenes y los videos.

Revisaré tu web y tomaré nota de tu ayuda, te dejo karma.

Muchas gracias por todo y no se si lo habrá visto pero has llegado al mensaje 666 (miedo me da).

Última edición por KLAYMAN; 01/04/2012 a las 03:05
  #4 (permalink)  
Antiguo 01/04/2012, 04:00
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 13 años, 2 meses
Puntos: 140
Respuesta: Duda sobre PHP y MySQL: almacenar imagenes y videos.

De Nada Klayman, lo mejor es estudiar bien lo que se quiere hacer porque una vez hecho la marxa atrás suele ser complicada y lleva un trabajo extra.

Sobre los varios idiomas, yo como lo tengo montado es de la siguiente manera. Todas las variables o campos de la bd que contienen texto las llamo por ejemplo:

$textes
$texten
$textcat

Pero en el documento php donde las llamo, uso $text

Y simplemente en el inicio del archivo php uso una condicion para definir el idioma:

$id = $_GET['id'];
if ($id == "es") $text=$textes;
elseif ($id == "en") $text=$texten;
elseif ($id == "cat") $text=$textcat;

evidentemente las variables de idioma van en urls amigables

dominio.com/es o es.dominio.com-----> dominio.com/archivo.php?id=es

En este punto, comentarte que desde el foro de SEO, siempre recomiendan usar subdominos antes que directorios para trabajar los idiomas.

Saludos y suerte!

Etiquetas: almacenar, imagenes, mysql, tabla
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 12:16.