Foros del Web » Programando para Internet » PHP »

Tablas Dinámicas

Estas en el tema de Tablas Dinámicas en el foro de PHP en Foros del Web. Hola amigos: Paso a explicaros este problema: Tengo una tabla (estática) que contiene 3 columnas: a) TEXTO ; b) Fotos y c) ESTRELLAS, una seccion ...
  #1 (permalink)  
Antiguo 07/08/2009, 12:13
(Desactivado)
 
Fecha de Ingreso: julio-2009
Mensajes: 85
Antigüedad: 15 años, 3 meses
Puntos: 1
Tablas Dinámicas

Hola amigos:
Paso a explicaros este problema:
Tengo una tabla (estática) que contiene 3 columnas: a) TEXTO ; b) Fotos y c) ESTRELLAS, una seccion en php, que calcula una votacion de las fotos, en base al contenido de una base de datos MySQL
Supongamos la tabla estática entonces, para que la vean sería:

COL 1 COL 2 COL 3
TEXTO FOTO ESTRELLAS (votación)
TEXTO(1) FOTO(1) ID=1
TEXTO(2) FOTO(2) ID=2

Lo que deseo hacer es que las columnas TEXTO y FOTO y ESTRELLAS se tornen dinámicas, para que queden ordenadas de mayor número de votos a menor.
En síntesis, que la tabla se muestre así:

COL 1 COL 2 COL 3
TEXTO FOTO ESTRELLAS (votación)
TEXTO(y) FOTO(y) ID=(y) (PRIMER FILA)
TEXTO(z) FOTO(z) ID=(z) (SEGUNDA FILA)
TEXTO(a) FOTO(a) ID=(a) (TERCER FILA)
.................................................. ............
TEXTO(?) FOTO(?) ID=(?) (N FILA)

Donde y es mayor que z, a, etc. ya que así puedo poner los más votados arriba y el segundo más votado en la segunda fila, etc. (y es mayor que a y las demás, pero menor que z, etc.)
Usando dreamweaver, no tuve problema en extraer de la base de datos los campos y ordenarlos a mi gusto, el problema es justamente, no se cómo poner dinamismo a la tabla, principalmente debido a la tercera columna, que ya incluye "per se" un código php.
Bueno, escucho cualquier solución, muchísimas gracias.

Última edición por ElPoliticoSagaz; 07/08/2009 a las 12:21
  #2 (permalink)  
Antiguo 07/08/2009, 14:58
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: Tablas Dinámicas

La verdad no entendi eso de tablas dinamicas, ¿quieres que el usuario reordene la tabla por otra columna u orden inverso sin tener que acceder de nuevo a la base de datos? Eso se hace con ajax, o codigo javascript, hay paginas con ejemplos por ahi. Si es eso, dilo, seguro mucha gente te quiere ayudar pero tu explicacion es un poquito confusa! saludos
  #3 (permalink)  
Antiguo 07/08/2009, 16:59
(Desactivado)
 
Fecha de Ingreso: julio-2009
Mensajes: 85
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Tablas Dinámicas

Tablas dinamicas se refiere a que cada campo tenga un valor, dado por el campo de una base de datos. Toma el valor de campo de la base de datos y lo pone en una celda de una tabla (se hace en php). Ahora explico como sería el tema:
En la tercer columna (donde vota una foto un usuario cualquiera), tengo 10 códigos php (en 10 filas) Digamos así:
COLUMNA 3
<?php AQUI VIENE EL CODIGO ?>
<?php AQUI VIENE EL CODIGO ?>
<?php AQUI VIENE EL CODIGO ?>, etc.
Los códigos son todos idénticos entre sí, excepto por el id (identificador) que es un valor que tengo en la base de datos (id=1 para la primer fila, id=2 para la segunda, etc.)
Simplemente, lo que quiero es reordenar para que me salga el id=4 (por ejemplo) primero, ya que es el que tiene más votos y luego el id=234 (por ejemplo), segundo, ya que es el que le sigue en votos, etc.
Ahora bien, yo pensaba lo siguiente:
Asignar al primer código php un valor id=X1 (fila 1 sería)
AL segundo código php un valor de id=X2 (fila 2 sería) y así sucesivamente
Si este razonamiento es correcto, necesitaría saber como ordenar variables (X1,X2...,Xn) de mayor a menor (número de votos).
  #4 (permalink)  
Antiguo 07/08/2009, 18:17
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: Tablas Dinámicas

Yo estoy gilipollas hoy o es que sigo sin enterarme bien de lo que quieres hacer. Va a ser mejor que me pongas bien descrito ciertos registros de tu base de datos y como quedarian luego para el usuario, porque me da la impresion de que es algo muy simple pero no me entero. Disculpa x_X
  #5 (permalink)  
Antiguo 08/08/2009, 05:12
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
Respuesta: Tablas Dinámicas

Cita:
Iniciado por ElPoliticoSagaz Ver Mensaje
Simplemente, lo que quiero es reordenar para que me salga el id=4 (por ejemplo) primero, ya que es el que tiene más votos y luego el id=234 (por ejemplo), segundo, ya que es el que le sigue en votos, etc.
Ahora bien, yo pensaba lo siguiente:
Asignar al primer código php un valor id=X1 (fila 1 sería)
AL segundo código php un valor de id=X2 (fila 2 sería) y así sucesivamente
Si este razonamiento es correcto, necesitaría saber como ordenar variables (X1,X2...,Xn) de mayor a menor (número de votos).
¿No puedes hacer un query a la tabla de los votos y ordenarlo en forma descendente?.

Código PHP:
SELECT FROM mi_tabla
ORDER BY mi_tabla
.votos DESC
Otro dato, paséate por este enlace, quizás éste te solucione más de lo que esperas. Leyendo lo que comentas creo que te caerá bien:

http://www.frequency-decoder.com/200...ript-revisited
  #6 (permalink)  
Antiguo 08/08/2009, 08:06
(Desactivado)
 
Fecha de Ingreso: julio-2009
Mensajes: 85
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Tablas Dinámicas

De esa forma, me tirará el valor de la votación (ejemplo: 234, 220, etc.) ordenado de mayor a menor y no es EXACTAMENTE eso
Cada votación (ejemplo, 234, 220, 210, 207, etc), está asociada, en la base de datos, a un número, llamado ID (identificador). Ejemplo: la votación más alta, en donde hubo 234 votos está asociado al id=27 y la segunda más alta (donde hubo 220 votos) está asociado al id=820. Ahora bien, quiero que en mi tabla dinámica no me tiré sólo el valor más alto, sino que me cambie el id del código PHP, según la cantidad de votos.
Ejemplo: En la columna tres, fila 1, se hicieron 234 votos. En la columna tres, fila 2, se hicieron 220 votos.
(Esto es lo que NO quiero)
COLUMNA 3
234 votos
220 votos

ESTO es lo que SI quiero
COLUMNA 3
<?php .....id=27?>
<?php .....id=820?>
¿Por qué quiero esto de arriba? Para que aparezcan los votos con estrellas y no el valor simplemente!.
Ahora yo pensaba en hacer un bucle de variables identificadores:
id=X1; id=X2, etc.
Y que en este superbucle ordenara los valores, de mayor a menor de votación, así la variable X1=27, X2=820, etc (acuerdense que estaría ordenado por número de votos recibidos, no por id!) Si no se entienden no importa, ya encontraré la forma, gracias!.
  #7 (permalink)  
Antiguo 08/08/2009, 15:17
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: Tablas Dinámicas

Mira si lo que quieres es que en vez que aparezca "500 votos" aparezcan por ejemplo 5 estrellas, te voy a decir como hago yo (y probablemente muchas webs obviamente):

echo str_repeat("estrella.gif",round($votos/100));

Asi aparecera mas o menos 1 estrella por cada 100 votos, si quieres que minimo salga siempre 1 estrella:

echo str_repeat("estrella.gif",max(1,round($votos/100)));

Y ya depende de ti poner cada cuantos votos quieres una estrella dividiendo /100, /50...
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 22:26.