Foros del Web » Programando para Internet » PHP »

Mostrar query sql en una tabla

Estas en el tema de Mostrar query sql en una tabla en el foro de PHP en Foros del Web. Buenas, Me gustaria mostrar el resultado de una consulta en una tabla de tres columnas, el codigo que quiero utilizar (aunque no se si es ...
  #1 (permalink)  
Antiguo 29/04/2011, 08:56
 
Fecha de Ingreso: enero-2010
Mensajes: 57
Antigüedad: 14 años, 3 meses
Puntos: 0
Mostrar query sql en una tabla

Buenas,

Me gustaria mostrar el resultado de una consulta en una tabla de tres columnas, el codigo que quiero utilizar (aunque no se si es el mas adecuado, porque tengo conocimientos minimos de sql) es este:

Código:
$queryListaFamilias = mysql_query ("SELECT Familia FROM `especies` GROUP BY Familia") or die ("Error de consulta");
$n = mysql_num_rows ($queryListaFamilias);
$m = mysql_fetch_array ($queryListaFamilias);

$z=0;
while($z<$n){

echo $m[0];

$m = mysql_fetch_array ($queryListaFamilias);
$z++;
}
?>
El resultado es este como de una lista;
Apogonidae Atherinidae Belonidae Blenniidae Bothidae Callionymidae........

Y me gustaria que qedara así:

<table>
<tr>
<td>Apogonidae</td>
<td>Atherinidae</td>
<td>Belonidae</td>
</tr>
<tr>
<td>Blenniidae</td>
<td>Bothidae</td>
<td>Callionymidae</td>
</tr>
</table>

Muchas gracias!
__________________
http://www.creaunaweb.es
  #2 (permalink)  
Antiguo 29/04/2011, 09:12
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: Mostrar query sql en una tabla

De esta manera:

Código PHP:
Ver original
  1. $query = mysql_query ("SELECT Familia FROM `especies` GROUP BY Familia") or die ("Error de consulta");
  2. $n = mysql_num_rows ($query);
  3. if ($n>0)
  4. {
  5.     echo '<table width="100%">';
  6.     while($row=mysql_fetch_array($query))
  7.     {
  8.         $nombre=$row['nombre'];
  9.         echo '
  10.             <tr>
  11.                 <td>'.$nombre.'</td>
  12.             </tr>
  13.             ';
  14.        
  15.     }
  16.     echo '</table>';
  17. }

Debes cambiar el campo 'nombre' , por el que quieres obtener de tu bd, además si requieres otra información la debes colocar de esta manera $nombre=$row['nombre']; , modificando el nombre de la variable y el del campo, luego lo agregar al echo que imprime
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #3 (permalink)  
Antiguo 29/04/2011, 11:12
 
Fecha de Ingreso: enero-2010
Mensajes: 57
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Mostrar query sql en una tabla

No me funciona, me queda la página en blanco.
Y a modificar el campo 'nombre' por el que yo quiera de la bd te refieres a poner por ejemplo 'Apogonidae' (es uno de los que he puesto en el ejemplo)?
Lo que pretendo es conseguir que muestre en una tabla con tres columnas todos los campos del campo familia, de la tabla especies, que son como unos 30.

Y una pregunta, cual es la función exacta del if en el codigo?

Muchas gracias por contestar
__________________
http://www.creaunaweb.es
  #4 (permalink)  
Antiguo 29/04/2011, 11:16
Avatar de andrexsos17  
Fecha de Ingreso: enero-2011
Ubicación: Manizales
Mensajes: 169
Antigüedad: 13 años, 2 meses
Puntos: 15
Respuesta: Mostrar query sql en una tabla

@david_saez2, la funcionalidad del if es verificar que hayan registros en la tabla y no hacer una tabla con campos vacios
__________________
Todo problema es una forma mental que la mente sostiene. Los problemas dejan de existir cuando los olvidamos. Todo problema ha sido creado por la mente y existe mientras la mente lo sostenga.
  #5 (permalink)  
Antiguo 29/04/2011, 11:18
 
Fecha de Ingreso: enero-2010
Mensajes: 57
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Mostrar query sql en una tabla

Cita:
Iniciado por bUllan9ebrio Ver Mensaje
De esta manera:

Código PHP:
Ver original
  1. $query = mysql_query ("SELECT Familia FROM `especies` GROUP BY Familia") or die ("Error de consulta");
  2. $n = mysql_num_rows ($query);
  3. if ($n>0)
  4. {
  5.     echo '<table width="100%">';
  6.     while($row=mysql_fetch_array($query))
  7.     {
  8.         $nombre=$row['nombre'];
  9.         echo '
  10.             <tr>
  11.                 <td>'.$nombre.'</td>
  12.             </tr>
  13.             ';
  14.        
  15.     }
  16.     echo '</table>';
  17. }

Debes cambiar el campo 'nombre' , por el que quieres obtener de tu bd, además si requieres otra información la debes colocar de esta manera $nombre=$row['nombre']; , modificando el nombre de la variable y el del campo, luego lo agregar al echo que imprime
para explicarme un poco mejor te pongo un ejemplo de como lo he intentado:


echo "<table border='1'>";
while($z<$n){
?>
<tr>
<td><?php echo $m[0]; ?></td>
<td><?php echo $m[0]; ?></td>
<td><?php echo $m[0]; ?></td>
</tr>

<?php

$m = mysql_fetch_array ($queryListaFamilias);
$z++;
}
echo "</table>";


El problema que me surge es que me repite tres veces el mismo nombre, algo así


Apogonidae Apogonidae Apogonidae
Atherinidae Atherinidae Atherinidae
Belonidae Belonidae Belonidae
Blenniidae Blenniidae Blenniidae
__________________
http://www.creaunaweb.es
  #6 (permalink)  
Antiguo 29/04/2011, 11:46
Avatar de andrexsos17  
Fecha de Ingreso: enero-2011
Ubicación: Manizales
Mensajes: 169
Antigüedad: 13 años, 2 meses
Puntos: 15
Respuesta: Mostrar query sql en una tabla

ok mira,

Código PHP:
Ver original
  1. <?php
  2. echo "<table border='1'>";
  3. while($z<$n){
  4. if (($z &#37; 3)==0)
  5. {
  6.     echo "<tr>";
  7. }
  8. echo "<td> $m[0] </td>";
  9. if (($z % 3)==0)
  10. {
  11.     echo "</tr>";
  12. }
  13.  
  14. $m = mysql_fetch_array ($queryListaFamilias);
  15. $z++;
  16. }
  17. echo "</table>";
  18. ?>

Basicamente lo que hacen las condiciones " if (($z % 3)==0) "es verificar que sea un numero multiplo de tres y si lo es entonces que cree una nueva fila.
__________________
Todo problema es una forma mental que la mente sostiene. Los problemas dejan de existir cuando los olvidamos. Todo problema ha sido creado por la mente y existe mientras la mente lo sostenga.

Etiquetas: query, sql, tabla
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 12:12.