Foros del Web » Programando para Internet » PHP »

Mostrar datos en tabla html con php

Estas en el tema de Mostrar datos en tabla html con php en el foro de PHP en Foros del Web. Buen dia amigos tengo un problema al mostrar unos datos que extraigo de mi base de datos mysql con php. Tengo ciertos registros que se ...
  #1 (permalink)  
Antiguo 11/06/2015, 20:42
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 3 meses
Puntos: 2
Mostrar datos en tabla html con php

Buen dia amigos tengo un problema al mostrar unos datos que extraigo de mi base de datos mysql con php. Tengo ciertos registros que se encuentran clasificados según el area de una entidad. La idea es que en la cabecera aparezca el nombre del area y en filas sus respectivas oficinas: por ejemplo así:

Código HTML:
Ver original
  1. |     SISTEMAS        |      CONTABILIDAD               |
  2. -------------------------------------------------------------
  3. |     programación   |      Comercial                        |
  4. -------------------------------------------------------------
  5. |     Redes               |       Agricola                         |
  6. -------------------------------------------------------------
Pero al extraer los datos e intentar colocar los datos como en el cuadro de arriba me aparece de la siguiente manera:

Código HTML:
Ver original
  1. |      SISTEMAS      |     SISTEMAS   |      CONTABILIDAD    |      CONTABILIDAD   |
  2. ---------------------------------------------------------------------------------------------------
  3. |    Programacióm   |    Redes          |     Comercial              |    Agricola                |
  4. ---------------------------------------------------------------------------------------------------
Código PHP:
        <?php 
        $sql
="Select macro_pro.cod_macro_pro,proceso.cod_macro_pro,proceso.cod_pro,proceso.dtalle_pro,
                 macro_pro.dtalle_macro_pro 
        FROM macro_pro,proceso
        WHERE macro_pro.cod_macro_pro=proceso.cod_macro_pro"
;
        
$result=mysql_query($sql,$link);
        
$procesos=array();
        while(
$row=mysql_fetch_array($result)){
                  if(!
array_key_exists($row[dtalle_pro],$procesos)){
                    
$procesos[$row[dtalle_pro]]=array();
                    
$procesos[$row[dtalle_pro]]=$row[dtalle_macro_pro];
                    }
                   else{
                    
$procesos[$row[dtalle_pro]]=$row[dtalle_macro_pro];
                 }
        }
//cierra while
        
echo "<table id='tabulacion' border>
        <thead>
        <tr>"
;
        foreach (
$procesos as $key=>$valor) {
            echo 
"<th>$valor </th>";
            } 
                    echo 
"</tr>";                                
        echo 
"</thead>";
        echo 
"<tbody>";
                echo 
"<tr>";   
                foreach (
$procesos as $va=>$valores_vect) {
                    echo 
"<td>$va</td>";
                        }
                echo 
"</tr>";
                echo 
"</tbody>";
                echo 
"</table>";
    
?>
Por favor me pueden echar una mano. Les agradecería mucho. :)
  #2 (permalink)  
Antiguo 11/06/2015, 22:04
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Mostrar datos en tabla html con php

Después de crear $procesos incluye la siguiente línea y dinos qué obtienes:

Código PHP:
Ver original
  1. var_dump($procesos);
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 12/06/2015, 06:52
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Mostrar datos en tabla html con php

Código PHP:
Ver original
  1. <?php
  2.         $sql="Select macro_pro.cod_macro_pro,proceso.cod_macro_pro,proceso.cod_pro,proceso.dtalle_pro,
  3.                  macro_pro.dtalle_macro_pro
  4.        FROM macro_pro,proceso
  5.        WHERE macro_pro.cod_macro_pro=proceso.cod_macro_pro";
  6.         $result=mysql_query($sql,$link);
  7.         $procesos=array();
  8.         while($row=mysql_fetch_array($result)){
  9.                   if(!array_key_exists($row[dtalle_pro],$procesos)){
  10.                 $procesos[$row[dtalle_pro]]=array();
  11.                 $procesos[$row[dtalle_pro]]=$row[dtalle_macro_pro];
  12.                         //$procesos[$row[dtalle_pro]][$row[dtalle_marco_pro]];
  13.                 }
  14.                 else{
  15.                 $procesos[$row[dtalle_pro]]=$row[dtalle_macro_pro];
  16.                         //$procesos[$row[dtalle_pro]][$row[dtalle_marco_pro]];
  17.               }
  18.         }//cierra while
  19.         echo "<table id='tabulacion' border>
  20.         <thead>
  21.         <tr>";
  22.         foreach ($procesos as $key=>$valor) {
  23.             echo "<th>$valor </th>";
  24.             }
  25.                     echo "</tr>";                              
  26.         echo "</thead>";
  27.         echo "<tbody>";
  28.                 foreach ($procesos as $va=>$valores_vect) {
  29.                         echo "<tr>";
  30.                     echo "<td>$va</td>";
  31.                         echo "</tr>";
  32.                 }
  33.                 var_dump($procesos);
  34.                 echo "</tbody>";
  35.                 echo "</table>";
  36.     ?>

Así amigo?.. Me imprime lo siguiente:


Código:
 array(13) {
["DIRECCIONAMIENTO ESTRATEGICO"]=> string(21) "PROCESOS ESTRATEGICOS"
["COMUNICACION INSTITUCIONAL Y PARTICIPACION CIUDADANA"]=> string(21) "PROCESOS ESTRATEGICOS"
["GOBIERNO Y CONVIVENCIA CIUDADANA"]=> string(19) "PROCESOS MISIONALES"
["DESARROLLO AGROPECUARIO"]=> string(19) "PROCESOS MISIONALES"
["DESARROLLO SOCIAL"]=> string(19) "PROCESOS MISIONALES"
["PLANEACION E INFRAESTRUCTURA"]=> string(19) "PROCESOS MISIONALES"
["GESTION DEL RECAUDO"]=> string(19) "PROCESOS MISIONALES"
["GESTION DEL TALENTO HUMANO"]=> string(17) "PROCESOS DE APOYO"
["COMPRAS Y CONTRATACION"]=> string(17) "PROCESOS DE APOYO"
["GESTION JURIDICA"]=> string(17) "PROCESOS DE APOYO"
["GESTION FINANCIERA"]=> string(17) "PROCESOS DE APOYO"
["GESTION DOCUMENTAL"]=> string(17) "PROCESOS DE APOYO"
["GESTION DE CONTROL INTERNO"]=> string(22) "PROCESOS DE EVALUACION"
}

Última edición por Triby; 12/06/2015 a las 16:22 Razón: Código más legible
  #4 (permalink)  
Antiguo 12/06/2015, 16:51
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Mostrar datos en tabla html con php

No veo de dónde salen "SISTEMAS" y "CONTABILIDAD", según yo, son elementos fijos y no forman parte del array, por lo que tu código podría ser más o menos:

Código PHP:
Ver original
  1. <?php
  2. // Esta línea es solo ejemplo para que veas cómo cambiar de modo PHP a salida normal (HTML)
  3. ?>
  4.         <table id="tabulacion">
  5.         <thead>
  6.                 <tr>
  7.                         <th>SISTEMAS</th>
  8.                         <th>CONTABILIDAD</th>
  9.                 </tr>
  10.         </thead>
  11.         <tbody>
  12. <?php
  13. //
  14. foreach($procesos as $sistema => $contabilidad) {
  15.         // Usa la estructura HEREDOC para facilitar la salida
  16.         echo <<<EOT
  17.                 <tr>
  18.                         <td>$sistema</td>
  19.                         <td>$contabilidad</td>
  20.                 </tr>
  21. EOT;
  22. }
  23. echo <<<EOT
  24.         </tbody>
  25.         </table>
  26. EOT;
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 14/06/2015, 01:32
 
Fecha de Ingreso: junio-2015
Mensajes: 10
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Mostrar datos en tabla html con php

tu codigo es un poco enredado, pero si veo algunos problemas por ejemplo el manejo de la etiquetas <tr>
te dejo este simple ejemplo. lo hice lo mas sismple posibe para que te guies mejor;

Código PHP:
Ver original
  1. $sql="select * from tabla";
  2.             $rs=mysqli_query($conexion, $sql);
  3.             $i=0;
  4.             echo "<table>";
  5.               echo "<thead>
  6.                     <th>SISTEMAS</th>
  7.                     <th>CONTABILIDAD</th>
  8.                 </thead>";
  9.              while ($row = mysqli_fetch_array($rs)){   
  10.              echo"<tr>";                               
  11.             echo "<td>".$row["var_sisemas"]."</td>";
  12.             echo "<td>".$row["var_conta"]."</td>"; 
  13.             echo"</tr>";
  14.            
  15.             $i++;
  16.             }          
  17.             echo "</table>";
Observa el ejemplo, el encabezado no va dentro del while para que no se repita,

saludos espero te ayude cualquier consulta estoy para atender

Etiquetas: html, mysql, registro, select, 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 10:14.