Foros del Web » Programando para Internet » PHP »

crear de tabla horizontal con mysql php

Estas en el tema de crear de tabla horizontal con mysql php en el foro de PHP en Foros del Web. Tenemos una tabla con 3 campos, variable, valor,año. REalizamos una consulta para una variable que devuelve los valores de esta manera: 2001 2002 2003 Valor ...
  #1 (permalink)  
Antiguo 01/07/2010, 16:00
 
Fecha de Ingreso: julio-2010
Mensajes: 1
Antigüedad: 13 años, 8 meses
Puntos: 0
crear de tabla horizontal con mysql php

Tenemos una tabla con 3 campos, variable, valor,año.
REalizamos una consulta para una variable que devuelve los valores de esta manera:

2001 2002 2003
Valor Exportado de Otros Pescados 3 2 3

Necesitamos devolver una consulta que muestre todas las variables en este orden


2001 2002 2003
Valor Exportado de Otros Pescados 3 2 3
Valor Exportado de camarones 10 5 5

El problema es cuando mandamos a llamar mas de una variable necesitamos que cambien de linea


este es el codigo
//
$query = "select DISTINCT Variable, Valor, Anio from fact_datossiec where Codigo_Variable = '1.5.1.6.05' and periodicidad='Anual'";
$exec = mysql_query($query);
//$row_name =
//$row_anio = $row_val = NULL;
//$variable=mysql_fetch_array($exec);
$cont=0;
if($cont<=12){
while($result = mysql_fetch_assoc($exec)) {

$row_anio .= $result['Anio'] . '</td><td>';
$row_val .= $result['Valor'] . '</td><td>';
$cont++;
}
}

?>
<body>
<table align="center" border="1">

<tr bgcolor="#0066CC">
<td align="right"><?php echo"$cont";?></td>
<b> <td><?PHP echo rtrim($row_anio); ?></td> </b>
</tr>
<tr>
<td>Valor Exportado de Otros Pescados</td>
<td><?PHP echo rtrim($row_val); ?></td>
</tr>
</table>
  #2 (permalink)  
Antiguo 01/07/2010, 18:18
Avatar de egepe  
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 14 años, 3 meses
Puntos: 7
Respuesta: crear de tabla horizontal con mysql php

Oye de verdad que no entiendo bien lo que quieres hacer si me lo puedes explicar otra vez mejor.
  #3 (permalink)  
Antiguo 01/07/2010, 19:51
Avatar de kmzero  
Fecha de Ingreso: octubre-2008
Mensajes: 43
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: crear de tabla horizontal con mysql php

Algo así?
Código PHP:
<?
while//......
echo "<table align= center width= 60%><tr><td></td><td></td><td></td></tr>\n"
echo 
'<tr><td>'.'<strong>Año&nbsp;&nbsp;</strong>'.$row["Anio"].'</td><td>'.'Valor'.$row["valor"].'</td><td>'.'Xtitulo'.$row["nombredel campo"].'</tr> \n'// la n salta de línea y lo que hicimos fue armar una mini tabla con tres celdas
               
                        
             
echo "</table> \n";
?>
lo que no entiendo es dónde está la tercer variable que necesitan visualizar. Si no era por ahí, aclará un poquitin la pregunta.
  #4 (permalink)  
Antiguo 01/07/2010, 20:43
Avatar de egepe  
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 14 años, 3 meses
Puntos: 7
Respuesta: crear de tabla horizontal con mysql php

Bueno en cuestion de estilos yo haría algo distinto, pero tomando en cuenta en codigo que colocaste, lo probe en forma sencilla y me funcionó.

Para el caso en el que no tengas claro el numero de campos que te puede traer un arreglo yo me iria por dos cosas

1) en lugar de mysql_fetch_assoc usa mysql_fetch_array que además de devolverte el nombre referencia te devuelve uno número, es decir:

$row[0]=2001;$row['anio']=2001;
$row[1]="valor";$row['valor']="valor";
$row[2]="Campo 3";$row['nombre']="Campo 3";

posteriormente haces $val=count($row) que te permitira saber cuántas posiciones tiene $row, para nuestro caso aquí te debe decir 3.

haces un for($i=0;$i<$val;$i++)
y en el echo que vas a colocar para imprimir las etiquetas html haces algo así:

echo "<td>".$row[$i]."</td>"; // Aqui vas a logar que te muestre para cada celda un valor y no importa cuántos campos tienes te los va a mostrar seguidos. Recuerda cuidar el estilo de las tablas en html que son muy caprichosas a veces.

for($i;$i<$val;$i++)
{
echo "<td>".$row[$i]."</td>";
}
echo "</tr></table>";

// otra cosa yo no usaria el \n en su lugar si lo necesitas usa "<br>" que funciona como salto de línea...

Etiquetas: horizontal, mysql, tablas
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 16:00.