Foros del Web » Programando para Internet » PHP »

Consultas en Tabla sencilla

Estas en el tema de Consultas en Tabla sencilla en el foro de PHP en Foros del Web. Hola. Tengo que colocar el resultado de las consultas de una BBDD (Mysql) y que me los vaya colocando en una tabla. El problema que ...
  #1 (permalink)  
Antiguo 11/04/2006, 13:27
 
Fecha de Ingreso: marzo-2005
Mensajes: 201
Antigüedad: 12 años, 8 meses
Puntos: 0
Consultas en Tabla sencilla

Hola. Tengo que colocar el resultado de las consultas de una BBDD (Mysql) y que me los vaya colocando en una tabla. El problema que tengo es el siguiente.
La consulta devuelve una fotito y un numero. En la tabla debe quedar arriba fotito y debajo numero, en <td> diferentes para que quede bien armado (kas fotos son de diferentes alturas). Pero la tabla debe tener 4 columnas.
Si tengo:
1º renglón: <tr><td> la-fotito </td></tr>
2º renglon: <tr><td> numero </td></tr>

puedo resolverlo generando 1 tabla para cada PAR, pero me va terminar haciendo como 50 tablas! acomodadas dentro de otra tabla de 4 columnas.

¿Tengo manera de hacerlo sin generar tantas tablas?
gracias
  #2 (permalink)  
Antiguo 11/04/2006, 13:49
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Otra manera es usar hojas de estilo y definir con ellas la ubicacion de los datos, es la manera que debería usarse. En un principio cuesta acostumbrarte pero luego te das cuentas de las posibilidades, sobre todo en términos de flexibilidad, usabilidad, y desempeño.
  #3 (permalink)  
Antiguo 11/04/2006, 21:36
 
Fecha de Ingreso: marzo-2005
Mensajes: 201
Antigüedad: 12 años, 8 meses
Puntos: 0
es decir que no se puede solo con tablas.
muchas gracias
  #4 (permalink)  
Antiguo 11/04/2006, 23:10
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 13 años
Puntos: 2
Coincido con Claudio, pasarse a CSS es lo mejor. Pero por otro lado ¿por que no podes hacerlo? ¿Cual es el ERROR / PROBLEMA? Las tablas te salen de cualquier tamaño? ¿Las imagenes salen deproporcionadas?


¿Me das algo más de informacion?

Asi te puedo ayudar quiza.

Saludos
  #5 (permalink)  
Antiguo 12/04/2006, 08:42
 
Fecha de Ingreso: marzo-2005
Mensajes: 201
Antigüedad: 12 años, 8 meses
Puntos: 0
El problema es que las fotitos no tienen el mismo alto, entonces debo colocarlas en un <td></td> y debajo, el numero en otro <td></td>, para que toda la hilera de 4 columnas (con foto-numero, foto-numero, foto-numero y foto-numero) quede con la misma altura.
Intenté hacerlo así, pero cuando la consulta no devuelve múltiplo de 4, el sobrante (1, 2 o 3 foto-numero) no las coloca:

Código PHP:
$leer="SELECT numero,miniatura,identificador FROM m_artesanales ORDER BY 'identificador' " // guardamos todo de LA TABLA

echo '<table  border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#F7F7F7">
    <tr>
      <td>'
;
$datos mysql_db_query ("sol",$leer);//guardamos todo en $datos

$i=0;        

$i=0;
while (
$fila=mysql_fetch_array($datos)){  //trae cada fila del SELECT de la BD y la pone en una posicion del vector $fila
$i=$i+1;


    if (
$i==1){
    
$z1=$fila[1]; //hace el primer PAR <td> </td>
    
$x1=$fila[0];
    
$c1=$fila[2];
    
$i=$i++;
    }elseif (
$i==2){
    
$z2=$fila[1]; //hace el segundo PAR <td> </td>
    
$x2=$fila[0];
    
$c2=$fila[2];
    
$i=$i++;
    }elseif (
$i==3){
    
$z3=$fila[1]; //hace el tercer PAR <td> </td>
    
$x3=$fila[0];
    
$c3=$fila[2];
    
$i=$i++;
    }else{
    
$z4=$fila[1]; //hace el cuarto PAR <td> </td>
    
$x4=$fila[0];
    
$c4=$fila[2];
    echo 
'<table  cellpadding="2" cellspacing="2" ><tr><td ><a href="ampliada.php?identificador='.$c1.'&idioma='.$idioma.'"><img src="'.$z1.'"  align="center" border="0" ></a></td><td><a href="ampliada.php?identificador='.$c2.'&idioma='.$idioma.'"><img src="'.$z2.'"  align="center" border="0" ></a></td><td><a href="ampliada.php?identificador='.$c3.'&idioma='.$idioma.'"><img src="'.$z3.'"  align="center" border="0" ></a></td><td><a href="ampliada.php?identificador='.$c4.'&idioma='.$idioma.'"><img src="'.$z4.'"  align="center" border="0" ></a></td></tr>
                 <tr ><td class="miniaturas" bgcolor="#F7F7F7">'
.$x1.'</td><td class="miniaturas"bgcolor="#F7F7F7">'.$x2.'</td><td class="miniaturas"bgcolor="#F7F7F7">'.$x3.'</td><td class="miniaturas"bgcolor="#F7F7F7">'.$x4.'</td></tr></table> '$i=0;}
    }
echo 
'</td></tr></table>'
Respecto de usar CSS, uso lo elemental pero en estos dias debo resolver este tema y no creo que llegue a comprender CSS para usarlo como es debido.

Muchas gracias
  #6 (permalink)  
Antiguo 12/04/2006, 15:46
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 13 años
Puntos: 2
Código PHP:

$sql 
"select * from fotos where bla = bla";
$query mysql_query($sql) or die (mysql_error());

for (
$i=0$i <= $total$i++) {
        
mysql_data_seek($query$i);
        
$foto mysql_fetch_array($query);

                echo 
"<table>
                                <tr>
                                                <td><img src="
.$foto['path']."></td>
                                </tr>
                                <tr>
                                                <td><b>"
.$foto['numerito']."</b></td>
                                </tr>
                </table>"
;

¿Si probas con algo asi? Quiza este "esqueleto" te sirva como punto de partida.

mysql_data_seek($query, $i) = Mueve el puntero del array ($query) hacia donde esta $i.
En cada paso del for te arma un array con los datos del REGISTRO de la base en el que estas parado, asi tenes $foro['campo_en_tu_tabla'].

Espero te sirva, saludos!
  #7 (permalink)  
Antiguo 12/04/2006, 15:47
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 13 años
Puntos: 2
Ah... otra cosa.

En este caso, suponete que el query dio como resultado 2 fotos encontradas, te va a armar la tabla solo para 2 fotos (tenes que hacer que $total sea siempre igual a mysql_num_rows($query)). Conta comote fue despues
  #8 (permalink)  
Antiguo 12/04/2006, 17:59
 
Fecha de Ingreso: marzo-2005
Mensajes: 201
Antigüedad: 12 años, 8 meses
Puntos: 0
Muchas gracias!
me ha servido de mucho "conocer" la funcion seek, pero no olvido que debo también incursionar en CSS.
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 17:30.