Foros del Web » Programando para Internet » PHP »

Duda con consultas para mostrar mediante PHP

Estas en el tema de Duda con consultas para mostrar mediante PHP en el foro de PHP en Foros del Web. Buenas a todos, estoy trabajando en mi proyecto y quiero poner una sección de discografía según los grupos que vaya consultando, pero estoy un poco ...
  #1 (permalink)  
Antiguo 30/04/2013, 04:18
Avatar de Txustra  
Fecha de Ingreso: abril-2013
Mensajes: 21
Antigüedad: 11 años, 7 meses
Puntos: 0
Duda con consultas para mostrar mediante PHP

Buenas a todos, estoy trabajando en mi proyecto y quiero poner una sección de discografía según los grupos que vaya consultando, pero estoy un poco liado con eso ya que no logro realizar lo que yo quiero.

El diseño y la página en cuestión son las siguientes:


Pero claro, al yo hacer un select (Select año,nombredisco,temas from discos where blablabla) a la derecha de la imagen, evidentemente me coge todos los registros, pero yo solo quiero ir mostrando registro a registro, uno a uno, para ir colocando cada cual dentro de su "cuadrante" por así decirlo ya que los temas que ahi aparecen, no correponden a "Silence" sino a "Ecliptica", y sinceramente no tengo mucha idea, tal vez sea muy fácil, pero estoy perdido en ese aspecto. No se si me he explicado bien, si no es así, decidme la duda al respecto. Resumen, necesito mostrar un registro por cuadrante para organizarlos según su imagen de la izquierda.

Y tambíen quería comentaros otra dudilla: ¿Cómo inserto distintos registros de la misma tabla en diferentes celda de una tabla?

Un saludo y espero respuesta.
  #2 (permalink)  
Antiguo 30/04/2013, 04:27
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años, 7 meses
Puntos: 28
Respuesta: Duda con consultas para mostrar mediante PHP

Poner una imagen de 1mb me parece un poco... abusivo y mas cuando pretendes que la vea mucha gente.

Te explico sencillamente en que consiste la cosa. Solo tienes que formatear los datos COMO TU QUIERAS.

Tu haces una consulta:

Código PHP:
Ver original
  1. <table>
  2.  
  3. <?php
  4. mysql_connect($host,$user,$password);
  5. $datos = mysql_db_query("database","select * from table");
  6. while($row = mysql_fetch_array($datos)) {
  7.    echo '<tr><td>';
  8.    echo $row['nombre_disco'];
  9.    echo '</td></tr>';
  10. }
  11.  
  12. ?>
  13.  
  14. </table>


Espero que así lo entiendas.

Última edición por pr0; 30/04/2013 a las 04:42
  #3 (permalink)  
Antiguo 30/04/2013, 04:47
Avatar de Txustra  
Fecha de Ingreso: abril-2013
Mensajes: 21
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Duda con consultas para mostrar mediante PHP

Cita:
Iniciado por pr0 Ver Mensaje
Poner una imagen de 1mb me parece un poco... abusivo y mas cuando pretendes que la vea mucha gente.

Te explico sencillamente en que consiste la cosa. Solo tienes que formatear los datos COMO TU QUIERAS.

Tu haces una consulta:

Código PHP:
Ver original
  1. <table>
  2.  
  3. <?php
  4. mysql_connect($host,$user,$password);
  5. $datos = mysql_db_query("database","select * from table");
  6. while($row = mysql_fetch_array($datos)) {
  7.    echo '<tr><td>';
  8.    echo $row['nombre_disco'];
  9.    echo '</td></tr>';
  10. }
  11.  
  12. ?>
  13.  
  14. </table>


Espero que así lo entiendas.

La imagen de hecho ocupa 21,1 kb y no es para que lo vea todo el mundo, es solo para exponerlo y ya está

Yo lo que es las consultas las tengo así:
Código PHP:
$server_link mysql_connect("localhost""root""");
if(!
$server_link){
    die(
"Falló la Conexión "mysql_error());
}
// seleccionamos la base de datos
$db_selected mysql_select_db("biblio"$server_link);
if(!
$db_selected){
    die(
"No se pudo seleccionar la Base de Datos "mysql_error());
}

$sqlBuscar mysql_query("SELECT imagen from discos where idgrupo=$ref"$server_link);
$sqlBuscar2mysql_query("SELECT anio,nombredisco from discos where idgrupo=$ref"$server_link);
$sqlBuscar3mysql_query("SELECT temas from discos where idgrupo=$ref"$server_link)
    or die(
mysql_error());
 
$totalRows mysql_num_rows($sqlBuscar);
 
$totalRows2 mysql_num_rows($sqlBuscar2);
 
$totalRows3 mysql_num_rows($sqlBuscar3); 
Pero estamos en las mismas, me va a mostrar todo seguido y no ordenado como yo quisiera.
  #4 (permalink)  
Antiguo 30/04/2013, 04:54
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años, 7 meses
Puntos: 28
Respuesta: Duda con consultas para mostrar mediante PHP

La imagen me refiero a la que has puesto en tu primer post. Pesa casi 1 mega, tarda mucho en mostrarse.

Veo que tu código es copiado y pegado de otro ejemplo y prácticamente no lo comprendes. Si te parases a mirar y comprender el codigo que te puse antes obtendrías la solución.

Para que haces 3 consultas a la misma tabla? Incomprensible.

Por qué no consultas todos los campos desde la misma consulta?
Por qué utilizas mysql_num_rows?

Perdona por mi franqueza pero creo que debes de al menos aprender algunos conceptos de PHP y MySQL antes de seguir o terminarás volviéndote loco.


Como ya te dije antes la solución la tienes en mi anterior post y bastante sencillo. Si no lo entiendes así lo tienes difícil.
  #5 (permalink)  
Antiguo 30/04/2013, 04:59
Avatar de Heent  
Fecha de Ingreso: diciembre-2008
Mensajes: 140
Antigüedad: 15 años, 10 meses
Puntos: 6
Respuesta: Duda con consultas para mostrar mediante PHP

Solo un matiz, en vez de usar las funciones de mysql_ (por ejemplo mysql_query) usa las funciones que son del estilo mysqli_ (por ejemplo mysqli_query) pues las primeras estan obsoletas y las eliminaran en futuras versiones de php.

No se diferencian mucho las dos pero la funciones de mysqli tienen muchas mejoras.


Un saludo.
  #6 (permalink)  
Antiguo 30/04/2013, 05:11
Avatar de Txustra  
Fecha de Ingreso: abril-2013
Mensajes: 21
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Duda con consultas para mostrar mediante PHP

Estaba usando varias consultas porque las quiero ir colocando en varios apartados:

Código PHP:
<div class="padding-grid-2">
                                                <div class="wrapper">
                                                        <?php while($row mysql_fetch_array($datos)){;
                                                        
                                                        echo 
'<figure class="style-img-2 fleft"><img src="'.$row['imagen'].'" alt=""></figure>';
                                                        }
                                                        
?>                
                                                </div>
                                            </div>
                                        </article>
                                        <article class="grid_8 alpha">
                                            <div class="padding-grid-2">
                                                <h4 class="margin-none indent-top1"><?php while($row mysql_fetch_array($datos)){;
                                                echo 
'<strong>'.$row['anio'].'.</strong>  '.$row['nombredisco'].'<br>';
                                                }
                                                
                                                
?>
                                                </h4>
                                                <div class="wrapper">
                                                    <ul class="list-1 fleft">
                                                        <?php  while($row mysql_fetch_array($datos)){; echo $row['temas']; }?>
                                                    </ul>
                                                    
                                                </div>
                                            </div>
Y si no lo hacia de esa forma no me dejaba... de hecho así como tal no me deja.

Entiendo tu franqueza, de hecho no hago esto porque me guste, si no porque es necesario, después ya no me dedicaré a hacer nada de esto asi que necesito ayuda en cosas básicas que vosotros la veréis muy facil pero a mi me cuesta porque sé lo mínimo. Al igual creo que mi duda sigue sin resolverse, ya que si tengo 10 registros, solo quiero ir cogiendo de uno a uno, pero por separado.
  #7 (permalink)  
Antiguo 30/04/2013, 05:16
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años, 7 meses
Puntos: 28
Respuesta: Duda con consultas para mostrar mediante PHP

A ver, voy a intentar ser más claro a ver si comprendes como funciona esto aunque en realidad es un poco abstracto para quien no lo sabe.


1- Haces una UNICA consulta con TODOS LOS DATOS de la tabla.
2- De la consulta con mysql_fetch_array tienes todos los datos en un array.

Ahora viene el "truco", dentro del WHILE donde muestras los datos, es donde COMPONES la maquetación y colocación de los datos con tablas, celdas, divs, listas, etc.


Se entiende ahora mejor?
  #8 (permalink)  
Antiguo 30/04/2013, 05:19
Avatar de Txustra  
Fecha de Ingreso: abril-2013
Mensajes: 21
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Duda con consultas para mostrar mediante PHP

Sip, y de hecho si me crees es un poco absurdo y lamentable por mi parte, de hecho tengo la parte de la información tal como dices. Avergonzado me hallo, disculpame por mi torpeza, pero estoy un poco en tensión por ese tema y ni me deja pensar con claridad.

Aún así, crees que se podría maquetar para que quede algo como esto? (con más registros, evidentemente):

[URL="http://img259.imageshack.us/img259/5963/capturaxv.png"]http://img259.imageshack.us/img259/5963/capturaxv.png[/URL]

Y en serio, perdón por mi retraso :(

Y gracias por tu ayuda, evidentemente.
  #9 (permalink)  
Antiguo 30/04/2013, 05:22
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años, 7 meses
Puntos: 28
Respuesta: Duda con consultas para mostrar mediante PHP

Se puede maquetar lo que quieras.

Prueba este codigo por ejemplo:

Código PHP:
Ver original
  1. while($row = mysql_fetch_array($datos)){
  2.  
  3.    echo '<div class="padding-grid-2">';
  4.    echo '<h4 class="margin-none indent-top1"><strong>'.$row['anio'].'</strong>  '.$row['nombredisco'].'<br></h4>';
  5.    echo '<div class="wrapper">';
  6.    echo '<ul class="list-1 fleft">';
  7.    echo $row['temas'].</ul>';
  8.   echo '</div>';
  9.   echo '</div>';
  10.  
  11. }

Ves?

Dentro del WHILE maqueto toda la presentación tal y como yo quiera!
  #10 (permalink)  
Antiguo 30/04/2013, 05:34
Avatar de Txustra  
Fecha de Ingreso: abril-2013
Mensajes: 21
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Duda con consultas para mostrar mediante PHP

Muchísimas gracias por tu ayuda, de verdad. Cuando quieras te invito a unas cervezas fresquitas.

Por cierto, se me ha movido un pelín el segundo registro:

http://img542.imageshack.us/img542/1530/captura1i.png

Imagino que tendré que tocar las propiedades del css para repararlo imagino, cierto?
  #11 (permalink)  
Antiguo 30/04/2013, 06:58
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años, 7 meses
Puntos: 28
Respuesta: Duda con consultas para mostrar mediante PHP

Si claro, eso ya es cosa de los css para ir reajustando.

Etiquetas: busqueda, diseño, mysql, organizacion
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 01:36.