Foros del Web » Programando para Internet » PHP »

Creación interactiva de tabla html a partir de consulta mysql

Estas en el tema de Creación interactiva de tabla html a partir de consulta mysql en el foro de PHP en Foros del Web. Saludos! Tengo un pequeño problema al tratar de programar un sitio web...+ Tengo una tabla como la siguiente: Clasificados id nombre imagen descripción información categoría ...
  #1 (permalink)  
Antiguo 14/08/2009, 08:56
 
Fecha de Ingreso: marzo-2009
Mensajes: 19
Antigüedad: 15 años, 1 mes
Puntos: 0
Creación interactiva de tabla html a partir de consulta mysql

Saludos!

Tengo un pequeño problema al tratar de programar un sitio web...+

Tengo una tabla como la siguiente:

Clasificados
id nombre imagen descripción información categoría

deseo armar una tabla de 4 elementos a lo ancho y los que sea necesario a lo alto.

Es decir, que si hay 8 registros, la tabla es de 4x2 si son 9 la tabla es de 4x3, si son 10 11 y 12 también sera de 4x3 si son 13 ya la tabla tendria 4 filas...

la tabla en html.

lo que hice fue un ciclo...

primero, para las filas... un while para mostrar cada fila. Y obviamente otro ciclo, de 4 iteraciones para las 4 columnas

EL PROBLEMA básicamente radica en que no se como tomar elemento por elemento del resultado de la consulta cuando tengo que hacerlo dentro de 2 whiles... y adicionalmente el mysql_fetch_array debe hacerse dentro de otro while.

esto lo quiero asi, para poder seleccionar por categorias... en la consulta Sql poner WHERE categoria = "xxxxx"

Desde ya agradezco cualquier colaboración que me puedan prestar, debo entregar este trabajo y no he podido finalizar.
  #2 (permalink)  
Antiguo 14/08/2009, 09:17
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 14 años, 9 meses
Puntos: 13
Respuesta: Creación interactiva de tabla html a partir de consulta mysql

eso es muy fácil

prueba con esto:

Código PHP:
<table>
  <tr>
    <td>nombre imagen</td>
    <td>descripción</td>
    <td>información</td>
    <td>categoria</td>
  </tr>

<?php
//en esta linea haces tu coneccion a la base de datos si no lo has hecho

$consulta "Select loquequieres From tutabla Where comoquieras";
$resultado mysql_query ($consulta) or die ("Error en consulta:".mysql_error());

while (
$fila mysql_fetch_array($resultado))
{
?>

  <tr>
    <td><?php echo $fila["nombreimagen"]; ?></td>
    <td><?php echo $fila["descripcion"]; ?></td>
    <td><?php echo $fila["informacion"]; ?></td>
    <td><?php echo $fila["categorias"]; ?></td>
  </tr>
</table>
la cantidad de filas se genera sola dependiendo de la cantidad de registros que tengas!

es tan simple como eso
necesitas solo 1 while para tomar todos los datos
en el
nos cuentas que tal, y si te sirvio
saludos!

Última edición por Twonex; 14/08/2009 a las 09:23
  #3 (permalink)  
Antiguo 14/08/2009, 09:44
 
Fecha de Ingreso: marzo-2009
Mensajes: 19
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Creación interactiva de tabla html a partir de consulta mysql

Muchas gracias por tu colaboración!!! sin embargo, creo que ha faltado claridad por mi parte.

Voy a ponerte un ejemplo

Supongamos que tengo una tabla:

Clasificados
id nombre imagen descripción información categoría
1 clas1 1.jpg blablabla blablabla venta
2 clas2 2.jpg blablabla blablabla venta
3 clas3 3.jpg blablabla blablabla venta
4 clas4 4.jpg blablabla blablabla venta
5 clas5 5.jpg blablabla blablabla compra
6 clas6 6.jpg blablabla blablabla compra
7 clas7 7.jpg blablabla blablabla compra

si quiero mostrarlo sin categorias la tabla quedaria:
_______________________
| clas1 | clas2 | clas3 | clas4 |
|-------- |------- |--------|---------
| clas5 | clas6 | clas7 |
----------------------------

Con categoria... digamos compra:

__________________
| clas5 | clas6 | clas7 |
|-------- |------- |--------|
-----------------------------

con categoria venta:



_______________________
| clas1 | clas2 | clas3 | clas4 |
--------------------------------------

la idea es agrupar registros de a cuatro por fila

muchas gracias de nuevo.!
  #4 (permalink)  
Antiguo 14/08/2009, 09:45
 
Fecha de Ingreso: marzo-2009
Mensajes: 19
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Creación interactiva de tabla html a partir de consulta mysql

Perdon por la forma de mostrarlo :S
  #5 (permalink)  
Antiguo 14/08/2009, 09:48
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Creación interactiva de tabla html a partir de consulta mysql

Verifica si esto te sirve http://www.forosdelweb.com/f18/aport...tablas-618528/
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 14/08/2009, 10:09
 
Fecha de Ingreso: marzo-2009
Mensajes: 19
Antigüedad: 15 años, 1 mes
Puntos: 0
De acuerdo Respuesta: Creación interactiva de tabla html a partir de consulta mysql

Saludos!

Mis mas sinceros agradecimientos por la atención prestada y la correspondiente ayuda.

He conseguido mi objetivo de la siguiente manera:
Código PHP:
<?php
if ($categoria == "")// con este if miramos si la pagina tiene o no clasificacion por categoria mediante $_GET
    
$sql="SELECT * FROM clasificados";
else
    
$sql="SELECT * FROM clasificados WHERE categoria = '$categoria'";
$result mysql_query($sql);
$numero mysql_num_rows($result);


$filas $numero 4;// me doy cuenta de cuantas filas son, y alimento el primerwhile
    
echo '<table>';
$i 0;
while(
$i <= $filas)// se utiliza menor o igual por si hay un registro de mas (dos o tres tambien...), genere otra fila nueva
{
    echo 
'<tr>';

    
$j 0;
    while(
$j <4// while de 4 iteraciones para 4 columnas
    
{
        
$row mysql_fetch_array($result);
        if (
$row['id'] == "")// verifico si el registro viene vacio (significa que ya termino... entonces hace rompimiento del ciclo)
            
break;
        else
            echo 
'<td>'.$row['nombre'].'</td>';
        
$j $j 1;
    }
    
    
    echo 
'</tr>';
    
    
$i $i 1;
}

echo 
'</table>';
?>
Pongo mi resultado por si a alguien le sirve despues!
  #7 (permalink)  
Antiguo 15/08/2009, 08:41
Avatar de renzoster  
Fecha de Ingreso: mayo-2006
Ubicación: Lima
Mensajes: 63
Antigüedad: 18 años
Puntos: 0
Respuesta: Creación interactiva de tabla html a partir de consulta mysql

CodeIgniter tiene una class que recibe directamente los resultados de tu consulta o array y genera toda la tabla.
  #8 (permalink)  
Antiguo 25/11/2009, 09:35
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Creación interactiva de tabla html a partir de consulta mysql

Hola gracias por el aporte, te cuento que me base a tu código e hice algo parecido pero ahora quisiera saber como le hago para que las filas que va creando el while no me salgan una ensima de otra para el caso de que la consulta me traiga mas de 1 registro. te dejo el código.


<table bordercolor="#666666" width="1000" height="130px" style="position:absolute; left:5px; top:133px;" bgcolor="#F0F1E1">
<tr>
<td><p style="position:absolute; left:12px; top:10px;" class="letraroja">RASON SOCIAL</p></td>
<td><p style="position:absolute; left:137px; top:10px;" class="letraroja">PLACA</p></td>
<td><p style="position:absolute; left:260px; top:10px;" class="letraroja">MARCA</p></td>
<td><p style="position:absolute; left:385px; top:10px;" class="letraroja">MODELO</p></td>
<td><p style="position:absolute; left:510px; top:10px;" class="letraroja">AÑO</p></td>
<td><p style="position:absolute; left:635px; top:10px;" class="letraroja">COLOR</p></td>
<td><p style="position:absolute; left:760px; top:10px;" class="letraroja">ALTA</p></td>
<td><p style="position:absolute; left:885px; top:10px;" class="letraroja">REGIONAL</p></td>
</tr>
<?
if(isset($_POST['btnbuscar']))
{
$cone=mysql_connect("localhost","algo","algo");
$data=mysql_select_db("cias",$cone);
$datos="select c.RasonSocial,v.Placa,m.NombreMarca,v.modelo,v.año ,v.color,v.Alta,l.NombreLocalidad from cliente c join vehiculo v on c.idcliente=v.idcliente join marca m on m.idmarca=v.idmarca join localidad l on l.idlocalidad=c.idlocalidad where v.Alta between '".$_POST['txtdesde']."' and '".$_POST['txthasta']."'";
$resul=mysql_query($datos);
$numero=mysql_num_rows($resul);
$filas=$numero;
$i=0;
while($i <= $filas)
{
$row=mysql_fetch_array($resul);
echo '<tr bordercolor="#0000FF" style="position:absolute; left:10px; top:25px; height:10px;">';
echo '<td align="left" width="80"><p class="textoGris">'.$row["RasonSocial"].'</p></td>';
echo '<td align="left" width="80"><p class="textoGris">'.$row["Placa"].'</p></td>';
echo '<td align="left" width="80"><p class="textoGris">'.$row["NombreMarca"].'</p></td>';
echo '<td align="left" width="80"><p class="textoGris">'.$row["modelo"].'</p></td>';
echo '<td width="80"><p class="textoGris">'.$row["año"].'</p></td>';
echo '<td width="80"><p class="textoGris">'.$row["color"].'</p></td>';
echo '<td width="80"><p class="textoGris">'.$row["Alta"].'</p></td>';
echo '<td width="80"><p class="textoGris">'.$row["NombreLocalidad"].'</p></td>';
echo '</tr>';
$i=$i+1;
}
}
?>
</table>
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 18:41.