Foros del Web » Programando para Internet » PHP »

ayuda con un ciclo

Estas en el tema de ayuda con un ciclo en el foro de PHP en Foros del Web. maestros, tengo un tabla mysql con los siguientes campos id, nombre, cargo, fecha. que tiene los siguientes registros: 200, alvaro, jefe, 2010-09-01 200, alvaro, jefe, ...
  #1 (permalink)  
Antiguo 13/09/2010, 12:10
 
Fecha de Ingreso: noviembre-2008
Mensajes: 112
Antigüedad: 15 años, 5 meses
Puntos: 1
ayuda con un ciclo

maestros,
tengo un tabla mysql con los siguientes campos id, nombre, cargo, fecha. que tiene los siguientes registros:

200, alvaro, jefe, 2010-09-01
200, alvaro, jefe, 2010-09-02
200, alvaro, jefe, 2010-09-03
200, alvaro, jefe, 2010-09-04
201, marco, inspe, 2010-09-01
201, marco, inspe, 2010-09-02
201, marco, inspe, 2010-09-03

y lo que debo hacer que en una pagina php me despliegue un informe
con un id y hacia el lado las fechas,
ejemplo:

200,2010-09-01,2010-09-02,2010-09-03,2010-09-04
201,2010-09-01,2010-09-02,2010-09-03

en el primer campo va el id(solo una vez), luego todas las fecha que pertenecen al mismo id...


lo primero que se me acurre es hacer una tabla adicional con columnas hacia el lado y
mediante un ciclo ingresar las fechas de la tabla original a la nueva tabla hacia el lado...(alguna idea de como hacer esto?)


si tienen una mejor opcion me gustaria que la compartieran conmigo

saludos y espero me puedan orientar...
  #2 (permalink)  
Antiguo 13/09/2010, 12:13
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: ayuda con un ciclo

puedes usar los array para almacenar los repetidos y luego implode o foreach para recorrerlos.

Código PHP:
Ver original
  1. while($registro = $db->fetch($consulta)) {
  2.   $array[$registro["id"]][] = $registro["fecha"];
  3. }
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 13/09/2010, 18:14
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años
Puntos: 322
Respuesta: ayuda con un ciclo

Código PHP:
$consulta mysql_query("SELECT * FROM tutabla");

while (
$row mysql_fetch_assoc($consulta)) {
    echo 
$row['id'].':<br>';
    
$consulta2 mysql_query("SELECT * FROM tutabla WHERE id = '".$row['id']."'");
    while (
$row2 mysql_fetch_assoc($consulta2)) {
        echo 
$row2['fecha'].'<br>';
    }

Se me ocurre que asi puede ser ;)
Para hacer la tabla, necesitas saber HTML basico y ya que lo sepas, podras cotinuar con tu proyecto..

Saludos!
  #4 (permalink)  
Antiguo 13/09/2010, 18:37
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: ayuda con un ciclo

Hola
Eso lo puedes solucionar en tu consulta
Código MySQL:
Ver original
  1. select id, GROUP_CONCAT(fecha) as fechas  from tu_tabla  GROUP BY fecha

Con eso obtendrás todas las fechas en una sola columna

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #5 (permalink)  
Antiguo 14/09/2010, 10:10
 
Fecha de Ingreso: noviembre-2008
Mensajes: 112
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: ayuda con un ciclo

Cita:
Iniciado por Sourcegeek Ver Mensaje
Código PHP:
$consulta mysql_query("SELECT * FROM tutabla");

while (
$row mysql_fetch_assoc($consulta)) {
    echo 
$row['id'].':<br>';
    
$consulta2 mysql_query("SELECT * FROM tutabla WHERE id = '".$row['id']."'");
    while (
$row2 mysql_fetch_assoc($consulta2)) {
        echo 
$row2['fecha'].'<br>';
    }

Se me ocurre que asi puede ser ;)
Para hacer la tabla, necesitas saber HTML basico y ya que lo sepas, podras cotinuar con tu proyecto..

Saludos!

estimado asi es como me quedo,
aun no hace lo que quiero, porque los dats que me despliega son las fechas hacia abajo, y lo que deberia hacer es todas las fechas distintas guardarlas hacia el lado en la tabla...

saludos y gracias nuevamente

Código PHP:
Ver original
  1. <?
  2. include ("pags/conectar.php");
  3. $consulta = mysql_query("SELECT * FROM bo_checklist order by fec_chec");
  4.  
  5. while ($row = mysql_fetch_assoc($consulta)) {
  6.     $a= $row['cod_cona'].':<br>';
  7.    
  8.     $consulta2 = mysql_query("SELECT * FROM bo_checklist WHERE cod_cona = '".$row['cod_cona']."' order by fec_chec");
  9.     while ($row2 = mysql_fetch_assoc($consulta2)) {
  10.         $b= $row2['fec_chec'].'<br>'; ?>
  11.        
  12.         <table width="100" height="18" border="1" align="center"  cellpadding="0" cellspacing="0">
  13.               <tr bgcolor="#CCCCCC">
  14.     <td width="4"  align="center"><? echo "$a"; ?></td>
  15.     <td width="5"  align="center"><? echo "$b"; ?></td>
  16.     <td width="5"  align="center"><? echo "$row2[fec_chec]"; ?></td>
  17.     <td width="5"  align="center"><? echo "$row2[fec_chec]"; ?></td>
  18.     <td width="5"  align="center"><? echo "$row2[fec_chec]"; ?></td>
  19.     </tr></table>
  20.  
  21. <?  }
  22.  } ?>
  #6 (permalink)  
Antiguo 14/09/2010, 11:01
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: ayuda con un ciclo

Con La consulta que te di te despliega hacia el costado
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com

Etiquetas: ciclos
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 22:29.