Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/11/2011, 00:44
iovan
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 17 años, 4 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 +.