Foros del Web » Programando para Internet » PHP »

mostrar datos en dos divs diferentes traidos de una sola consulta

Estas en el tema de mostrar datos en dos divs diferentes traidos de una sola consulta en el foro de PHP en Foros del Web. Muy buenas. Tengo una duda que no consigo resolver (tras varios dias dandole vueltas). Tengo una consulta de la que traigo unos determinados datos(registros). Estos ...
  #1 (permalink)  
Antiguo 30/03/2011, 02:38
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 13 años, 9 meses
Puntos: 11
mostrar datos en dos divs diferentes traidos de una sola consulta

Muy buenas.

Tengo una duda que no consigo resolver (tras varios dias dandole vueltas).

Tengo una consulta de la que traigo unos determinados datos(registros). Estos datos se van a mostrar en dos <div> diferentes, segun el tipo de datos que haya en dichos registros. El problema que me encuentro es que no se como discriminar esos datos para que se muestren en un div o en el otro.

Un ejemplo simplificado de lo que busco seria algo como esto:

Código PHP:
Ver original
  1. $txtconsulta="SELECT nombre, apellido FROM registros WHERE...";
  2. $consulta = mysql_query($txtconsulta,$conexion);
  3.  
  4. $i=0
  5. while($row = mysql_fetch_array($consulta))
  6. {
  7. nombre[$i]=$row["nombre"];
  8. apellido[$i]=$row["apellido"];
  9. $i++;
  10. }

Ahora tengo dos divs diferentes donde quiero mostrar los datos, pero quiero que ....por ejemplo....aquellos cuyo nombre sea de mas de X letras se muestren en uno de ellos, y los otros en el otro <div> (o cualquier otra condicion. La condicion no es importante aqui, ya que sea la que sea el problema real que me encuentro es que no se como decirle: este dato para aqui, este otro para alla, este aqui, este alla,.....)

Espero haberme explicado bien. De no ser asi, porfavor, decidmelo y detallare mas el asunto.

1 saludo y muchas gracias!
  #2 (permalink)  
Antiguo 30/03/2011, 06:16
Avatar de altex  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 47
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: mostrar datos en dos divs diferentes traidos de una sola consulta

Yo no veo ningún problema en eso...

Creas una función que te cuente los caracteres.

Código PHP:
Ver original
  1. if(contar(nombre[i]) == >6){
  2.   echo "<div id='uno'>";
  3.   echo "Nombre: ".nombre[i];
  4.   echo "</div>";
  5. }else{
  6.   echo "<div id='dos'>";
  7.   echo "Nombre: ".nombre[i];
  8.   echo "</div>";
  9. }

Haces un if dentro del while y comparas, no?
  #3 (permalink)  
Antiguo 30/03/2011, 14:06
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 13 años, 9 meses
Puntos: 11
Respuesta: mostrar datos en dos divs diferentes traidos de una sola consulta

Quizas deberia haber matizado un poco mas. Disculpa.

El problema es que con ese codigo creo que voy a imprimir un monton de <div>'s, concretamente uno por cada indice del array, mientras que lo que yo quiero es que haya solo 2 divs "principales" y dentro de cada uno de ellos varios divs con los datos de la consulta.

El problema viene, no con la condicion para discriminar entre si deberia ir en un div o en el otro (de los principales), sino en el como mostrarlos en un div o en el otro.

Lo que necesito es que quede algo asi:

Código HTML:
Ver original
  1. <div id="uno">
  2.     <div><?php echo $row[$i] ?></div>
  3.     <div><?php echo $row[$i] ?></div>
  4.             ...
  5. </div>
  6.  
  7. <div id="dos">
  8.     <div><?php echo $row[$i] ?></div>
  9.     <div><?php echo $row[$i] ?></div>
  10.             ...
  11. </div>
  #4 (permalink)  
Antiguo 30/03/2011, 14:07
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, oms02

Muevo tu tema al foro de PHP desde Web general.

Saludos,
  #5 (permalink)  
Antiguo 30/03/2011, 14:52
 
Fecha de Ingreso: julio-2010
Ubicación: Galicia
Mensajes: 91
Antigüedad: 13 años, 9 meses
Puntos: 9
Respuesta: mostrar datos en dos divs diferentes traidos de una sola consulta

Pues, con la función para discriminarlos, en vez de directamente mostrarlos almacénalos en un array u otro, y luego muestras todo el array en el div, sería fácil simplemente almacenando los datos en uno u otro array y luego mostrarlos con otro while, no? ^^
No se si me explico XD no se me da muy bien explicarme pero bueno, si quieres te pongo un ejemplo o algo... saludos!
__________________
Si algo te sirve de ayuda no dudes en dar Karma, a tí no te cuesta nada y a mi me haces feliz =D
  #6 (permalink)  
Antiguo 30/03/2011, 15:26
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 13 años, 9 meses
Puntos: 11
Respuesta: mostrar datos en dos divs diferentes traidos de una sola consulta

No Narxon, te explicas perfectamente....

solo una cosa mas...

Este problema me surge por el entocinamiento de querer hacerlo todo con una unica consulta, cuando podria hacerlo mas comodamente con dos consultas..

ahora con la solucion que me propones, me surge la siguiente duda...

en un principio que seria mas recomendable....

utilizar dos consultas con sus respectivos arrays (ya con esto no tendria problemas para mostrar en cada div el respectivo array)

o utilizar una unica consulta y hacer una "subdivision" de dos arrays a partir del array (es decir, tu solucion).

me refiero al asunto del consumo de recursos/optimizacion/utilizar varias consultas vs. utilizar mas variables....

Muchas gracias por la ayuda!
  #7 (permalink)  
Antiguo 30/03/2011, 18:07
 
Fecha de Ingreso: julio-2010
Ubicación: Galicia
Mensajes: 91
Antigüedad: 13 años, 9 meses
Puntos: 9
Respuesta: mostrar datos en dos divs diferentes traidos de una sola consulta

Ahí ya no me meto, eso depende de muchas cosas, de si la BD está en la misma máquina, si está en una máquina aparte, pff, nunca entendí mucho de eso jeje pero me alegra servir de ayuda para algo, estaré atento porque también me interesa el tema de la optimización jeje, saludos oms02!
__________________
Si algo te sirve de ayuda no dudes en dar Karma, a tí no te cuesta nada y a mi me haces feliz =D

Etiquetas: diferentes
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 23:55.