Foros del Web » Programando para Internet » PHP »

Problema crear tabla dentro de WHILE

Estas en el tema de Problema crear tabla dentro de WHILE en el foro de PHP en Foros del Web. hola Tengo el resultado de la siguiente consulta: El resultado es el siguiente: cod cat pro total 103 001 KV 2 103 001 OT 1 ...
  #1 (permalink)  
Antiguo 13/06/2011, 14:30
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años
Puntos: 76
Problema crear tabla dentro de WHILE

hola

Tengo el resultado de la siguiente consulta:

El resultado es el siguiente:
cod cat pro total
103 001 KV 2
103 001 OT 1
103 002 WB 44


Ahora lo que quiero es en el while :

Código PHP:
while ($reg mssql_fetch_array($conex->result)){

echo 
"
<table>
<tr>
<td>$reg['cod_suc']</td>
</tr>
<table>
<tr>
<td>$reg['TOTALES']</td>
</tr>
"

El problema es que al crear la tabla me crea tres tablas con el cod_suc 103, y no quiero eso, quiero solo que me la cree una sola vez por cada cod_suc y no por fila .....


Gracias..
  #2 (permalink)  
Antiguo 13/06/2011, 14:38
 
Fecha de Ingreso: junio-2011
Ubicación: La Paz
Mensajes: 5
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Problema crear tabla dentro de WHILE

Hola amigo mira el problema esta en la parte donde pones la etiqueta <table> aqui te escribo la forma correcta de hacerlo:
Código PHP:
Ver original
  1. echo "
  2. <table>";
  3. while ($reg = mssql_fetch_array($conex->result))
  4. {
  5. echo "
  6. <tr>
  7. <td>$reg['cod_suc']</td>
  8. </tr>";
  9. }
  10. echo "
  11. <tr>
  12. <td>$reg['TOTALES']</td>
  13. </tr>
  14. <table>
  15. "

Espero te sirva segun veo el error estaba en que el while esta abarcando la creacion de una tabla y es por eso cuando lo ejecutas el script crea la cantidad de tablas igual a la cantidad de datos que tengas almacenados en tu DB espero te ayude
bye
  #3 (permalink)  
Antiguo 13/06/2011, 14:51
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años
Puntos: 76
Respuesta: Problema crear tabla dentro de WHILE

Amigo Gracias por la respuesta

Listo pues ya lo hice, pero como lo mencione anteriormente,

El resultado es:
cod cat pro total
103 001 KV 2
103 001 OT 1
103 002 WB 44

La tabla que necesito crear debe quedar con esta estructura:

Código:
                                         COD_SUC 103 
PRO KV           TOT 2
PRO OT           TOT 1
PRO WB          TOT 44



y crear n tablas asi por cada cod..... pero el problema es que me la crea es por fila y no por cod ....

Gracias
  #4 (permalink)  
Antiguo 13/06/2011, 15:02
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Problema crear tabla dentro de WHILE

Y donde se cierra la tabla????

si yo entiendo bien debe ser algo como esto
Código PHP:
<?php
while ($reg mssql_fetch_array($conex->result)){
?>
<table>
    <tr>
         <td colspan="2"><?php echo $reg['cod_suc']; ?></td>
    </tr>
    <tr>
         <td>TOTALES</td>
         <td><?php echo $reg['TOTALES']; ?></td>
    </tr>
</table>
<?php

?>
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #5 (permalink)  
Antiguo 13/06/2011, 15:24
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años
Puntos: 76
Respuesta: Problema crear tabla dentro de WHILE

Hola nuevamente compa.

Si pues el problem es que me la crea por cada fila, y no quiero eso... ya que como lo mostre anteriormente ,

ejemplo tengo el siguiente resultado:
Código HTML:
cod  cat    pro tot 
103	002	PS	30
202	002	PS	43
202	005	PS	2
203	001	PS	34
203	002	PS	9
Entonces dentro del while me tiene que crear la tabla de la siguiente manera:
Código:
1. Tabla 
                                         COD_SUC 103 
PRO PS    002         TOT 30

2. Tabla

                                         COD_SUC 202
PRO PS    002        TOT 43
PRO PS    005        TOT 2



3. Tabla

                                         COD_SUC 203
PRO PS    001       TOT 39
PRO PS    002        TOT 9

No se como hacerlo, o mejor si hubiera alguna forma de convertir filas en columnas :

ejemplo :
Código:
cod  cat    pro   tot 
202	002	PS	43
202	005	PS	2
Que quede asi:

Código:
cod   cat1  pro1 tot1 cat2  pro2 tot2
202   002   ps    43    005  ps      2

Gracias
  #6 (permalink)  
Antiguo 13/06/2011, 15:58
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: Problema crear tabla dentro de WHILE

par hacer esta puedes probar:
Cita:
1. Tabla
COD_SUC 103
PRO PS 002 TOT 30

2. Tabla

COD_SUC 202
PRO PS 002 TOT 43
PRO PS 005 TOT 2



3. Tabla

COD_SUC 203
PRO PS 001 TOT 39
PRO PS 002 TOT 9
Código PHP:
<?php
while ($reg mssql_fetch_array($conex->result))
{
    
?>
    <table>
    while ($reg2 = mssql_fetch_array($conex->result2))
    {
    <tr> <td colspan="2"><?php echo $reg['cod_suc']; ?></td></tr>///serian los COD_SUC *** 
    while ($reg3 = mssql_fetch_array($conex->result3))
      {
       <tr> <td>TOTALES</td> <td><?php echo $reg['TOTALES']; ?></td></tr>////serian los resultados 
      }
    }
</table>
<?php

?>
$reg = consulta que te arroje las tablas u obtengas el numero de tablas
$reg2 = consulta que te arroje los titulos de esa tabla (los COD_SUC *** )
$reg3= consulta que te arroje los campos dentro de ese COD_SUC ***
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #7 (permalink)  
Antiguo 13/06/2011, 16:14
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: Problema crear tabla dentro de WHILE

asi seria con numeros definidos prueba esta codigo y el resultado es como lo lo quieres:
Código PHP:
Ver original
  1. <?php
  2. $i=0;
  3. $j=0;
  4. $k=0;
  5.  
  6. while ($i!=3)
  7.     {
  8. //    echo $i;?>
  9.     <table border="1" width="10%"> <?
  10.     while ($j != 4)
  11.         {
  12.         ?><tr> <td colspan="3" align="center"><? echo $j; ?> </td></tr><?
  13.         while ($k !=5)
  14.             {
  15.             ?><tr><td>DATOS</td> <td>TOTALES</td> <td><?echo $k;?></td></tr> <?
  16.             $k++;
  17.             }
  18.          $k=0;
  19.          $j++;
  20.         }
  21.     ?></table><br>
  22.     <?php
  23.     $i++;
  24.     } ?>

Cita:
--------------------------------+
|0
-----------+--------------+----+
|DATOS TOTALES 0
|DATOS TOTALES 1
|DATOS TOTALES 2
|DATOS TOTALES 3
|DATOS TOTALES 4
|1
-----------+-------------+-----+
|DATOS TOTALES 0
|DATOS TOTALES 1
|DATOS TOTALES 2
|DATOS TOTALES 3
|DATOS | TOTALES 4
|2
-----------+--------------+----+
|DATOS | TOTALES 0
|DATOS | TOTALES 1
|DATOS | TOTALES 2
|DATOS | TOTALES 3
|DATOS | TOTALES 4
|3
-----------+--------------+----+
|DATOS | TOTALES 0
|DATOS | TOTALES 1
|DATOS | TOTALES 2
|DATOS |TOTALES 3
|DATOS | TOTALES 4
-----------+---------------+-----+
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”

Última edición por PIRRUMAN; 13/06/2011 a las 16:22
  #8 (permalink)  
Antiguo 13/06/2011, 16:36
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años
Puntos: 76
Respuesta: Problema crear tabla dentro de WHILE

Hola..

Muchas Gracias...

Aunque pues me da el mismo resultado, si tengo tres filas con el cod_suc 103
me crea tres tablas iguales con los mismos datos de ese cod_suc

Pero igual les agradezco mucho..
  #9 (permalink)  
Antiguo 14/06/2011, 10:31
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: Problema crear tabla dentro de WHILE

podrias dar ejemplo de tus tablas o tabla y como quieres q se den tus resultados?

y las consultas q haces para entender un poco mejor el problema
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”

Etiquetas: 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:38.