Foros del Web » Programando para Internet » PHP »

Imágenes de diferente tamaño después de una consulta.

Estas en el tema de Imágenes de diferente tamaño después de una consulta. en el foro de PHP en Foros del Web. Hola amigos, espero que alguien me pueda orientar un poco, se los agradeceré mucho. El problema: Al efectuar una consulta a la base de datos, ...
  #1 (permalink)  
Antiguo 05/11/2011, 18:38
Avatar de pepejaguar  
Fecha de Ingreso: enero-2005
Ubicación: Guatemala
Mensajes: 76
Antigüedad: 19 años, 3 meses
Puntos: 0
Pregunta Imágenes de diferente tamaño después de una consulta.

Hola amigos, espero que alguien me pueda orientar un poco, se los agradeceré mucho.

El problema:

Al efectuar una consulta a la base de datos, se arrojan quince resultados, que corresponden a las direcciones de imágenes.

Lo que se desea es que la primera imagen tenga un tamaño diferente al de las demás.

La consulta es:

Código PHP:
SELECT imagen FROM tabla LIMIT 15 
Da como resultado:

imagen1.jpg
imagen2.jpg
...
imagen15.jpg

Los nombres son aleatorios y no llevan una secuencia de ningún tipo.

Se desea que el código html quede de forma similar a:

Código HTML:
<img src="/path/<?php $jpg['imagen']; ?>" /> 
Pero la primera imagen del resultado, debiera tener por ejemplo width="240" height="180", mientras de la segunda a la décimo quinta, debiera ser width="120" height="90", por poner algunos valores.

Espero haberme explicado bien. Cualquier ayuda o luz que me pueda orientar será de mucha ayuda y estaré muy agradecido.

Saludos.
  #2 (permalink)  
Antiguo 05/11/2011, 23:45
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Imágenes de diferente tamaño después de una consulta.

Para ello puedes usar contadores fuera de tu bucle y algunas condiciones...
Código PHP:
Ver original
  1. $counter = 0;
  2. while($res = mysql_fetch_assoc($tu_query)) {
  3.     if($counter >= 1 && $counter <= 5) {
  4.         echo 'Contador está entre 1 y 5<br />',
  5.     }
  6.     $counter++;
  7. }

Qué tal si lo intentas y si no te sale, nos muestras lo que hiciste?
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #3 (permalink)  
Antiguo 06/11/2011, 00:44
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: Imágenes de diferente tamaño después de una consulta.

Hola amigo. Así como te dice Sourcegeek.

Yo acabo de hacer 2 preguntas también y siempre que pregunto también contesto a las preguntas que puedo. Así que ya lo sabes, sobre lo que sabes y/o sabrás hacer en el futuro, date una vuelta por el foro y colabora un poco =D
_________________________________________

Para empezar toquemos 2 conceptos

Arreglo (o array): Su representación gráfica viene siendo una matriz. Si no sabes que es una matriz imagínate un almacén con "N" numero de espacios (celdas) donde puedes meter cosas, ordenados por filas y columnas.

A cada fila le pones un numero que va en incremento en una unidad empezando por 0, y lo mismo pasa con las columnas.

Si tienes un arreglo como este, se dice que tiene 4 espacios de memoria y que es de 1 sola dimención. Es decir solo tiene o filas o columnas pero no ambas.



Bien, aterriza el concepto y seguimos.

2.- En PHP hay una función hecha especialmente para recorrer cualquier arreglo y esta se llama foreach

Terminamos con los conceptos y seguimos:


Cuando tu haces esto:

Código PHP:
Ver original
  1. $row = mysql_fetch_assoc($tu_query);

Estas creando un "array" (Arreglo) llamado $row, por lo que desde éste momento $row es un arreglo que deberá tener guardados todos los registros que hayan sido devueltos por tu consulta:

Código SQL:
Ver original
  1. SELECT imagen FROM tabla LIMIT 15

Y como es un arreglo lo puedes recorrer con foreach

Por ejemplo:

Código PHP:
Ver original
  1. foreach($row as $key => $value){
  2. .
  3. .
  4. .
  5. }

Donde $key será el indice (número del agujero donde está guardado el objeto), y empieza desde 0 hasta n-1; Y $value será la variable que contiene los datos que se obtuvieron como respuesta a la consulta SQL, en otras palabras, las imágenes.

Entonces si dentro de ese foreach tu colocas una condicional que diga:

Cita:
Si $key == 1 entonces imprimo la imagen con las dimensiones width="240" height="180"

si no, imprimo las imagenes con las dimensiones width="120" height="90"
Pero me temo que esto no te funcionará a menos que cambies la forma en la que creas el arreglo a partir de la consulta SQL.

Tu tienes esto:

Código PHP:
Ver original
  1. $row = mysql_fetch_assoc($tu_query);

Donde ASSOC crea indices tipo "string" (cadenas de texto), donde cada string es el nombre del campo de la tabla, para crear indices tipo entero y poder hacer:

Código PHP:
Ver original
  1. if($key==1)....

hay que declarar el arreglo de la siguiente manera:

Código PHP:
Ver original
  1. mysql_fetch_array($result,MYSQL_NUM); //******* COMO : MYSQL_NUM =D

Saludos y éxitos.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #4 (permalink)  
Antiguo 15/12/2011, 14:56
Avatar de pepejaguar  
Fecha de Ingreso: enero-2005
Ubicación: Guatemala
Mensajes: 76
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Imágenes de diferente tamaño después de una consulta.

Muchas gracias por las dos soluciones, me han servido mucho, justo lo que andaba buscando. Gracias por el apoyo.

Saludos.

Etiquetas: thumbnails
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 04:27.