Foros del Web » Programando para Internet » PHP »

Imprimir debajo de cada jefe sus operarios.

Estas en el tema de Imprimir debajo de cada jefe sus operarios. en el foro de PHP en Foros del Web. Hola Tengo este codigo y me imprime perfectamente los jefes de equipo como necesito, pero ademas necesito que debajo de cada jefe de equipo me ...
  #1 (permalink)  
Antiguo 25/01/2008, 05:27
 
Fecha de Ingreso: diciembre-2007
Mensajes: 113
Antigüedad: 16 años, 4 meses
Puntos: 0
Imprimir debajo de cada jefe sus operarios.

Hola

Tengo este codigo y me imprime perfectamente los jefes de equipo como necesito, pero ademas necesito que debajo de cada jefe de equipo me imprima todos sus operarios, los cuales dependen de el.

Con este codigo me imprime solo los jefes de equipo por que al final discrimino a los operarios y no se como crear por cada jefe un array con sus operarios e imprimir dicho array.

Ahi va el codigo:

Código PHP:
<?PHP

// Obtenemos el numero de jefes de equipo por delegacion
$misjefesjefes_delegacion($id_operario,$id_delegacion);

$cuantos count($misjefes);
echo 
$cuantos;

// Sacamos los ids de los jefes en la tabla prefactura

for($n_jefes=0;$n_jefes<$cuantos;$n_jefes++)

$imprimimos_filas;

$contador=0;

for(
$i=0;$i<count($misjefes);$i++)


$jefe[$i]=$misjefes[$i]['id_operario'];

//$generando = mysql_query("SELECT * FROM prefactura WHERE id_delegacion='$id_delegacion' AND fecha='$fecha' AND id_jefe='$jefe[$i]'") or die (mysql_error());


 // Recorremos el array y vamos formando la facturación del equipo
for($i=0;$i<count($misjefes);$i++)
{

    
$jefe[$i]=$misjefes[$i]['id_operario'];

    
$generando mysql_query("SELECT * FROM prefactura WHERE id_delegacion='$id_delegacion' AND fecha='$fecha' AND id_jefe='$jefe[$i]'") or die (mysql_error());
     while(
$datos=mysql_fetch_array($generando))
     {
            

             
// Creamos cabecera para imprimir al principio al jefe de equipo

     
if ($datos['id_jefe']==$datos['id_operario']){

//Aqui me he quedado

     // Codigo previo

     
$cod_operario=$datos['cod_operario'];




$pre_facturas=Consultar("SELECT * FROM prefactura WHERE id_delegacion='$id_delegacion' AND fecha='$fecha' ORDER BY id_jefe");



                  
//echo $pre_facturas[0]['cod_operario'];

$id_prefactura=$datos['id_prefactura'];
$id_operario=$datos['id_operario'];

$nombre_completo=sacar_t_operario ($id_operario);

// Componemos el nombre completo con sus dos apellidos.

$sunombre=$nombre_completo['nombre']."<br>".$nombre_completo['apellido1']." ".$nombre_completo['apellido2'];


     
// fin codigo previo


          
echo "<tr>";





// Si es jefe de equipo imprime su nombre en rojo

if ($datos['id_jefe']==$datos['id_operario']){


echo 
"<td ALIGN = CENTER class='inicio_final_jefe'>".$datos['cod_operario']."<br>".$sunombre;
echo 
"</td>";
}
else
{
echo 
"<td ALIGN = CENTER class='inicio_final'>".$datos['cod_operario']."<br>".$sunombre;
echo 
"</td>";
}
// Aqui facturas contratos y demas
echo "<td ALIGN = CENTER class='inicio_final'>";$facturas_operario=dame_facturas($id_operario,$id_prefactura,$fecha);
echo 
"</td>
<td ALIGN = CENTER class='inicio_final'>"
;$contratos_operario=dame_contratos($id_operario,$id_prefactura,$fecha);
echo 
"</td>
<td ALIGN = CENTER class='inicio_final'>F :"
;$facturas_n=dame_facturas_n($id_operario,$fecha); echo "C :";$contratos_n=dame_contratos_n($id_operario,$fecha);
echo
"</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_g_bu']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_g_bu']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_g_gn']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_g_gn']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_reg']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_reg']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_reg_pro']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_reg_pro']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_reg_pa']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_reg_pa']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_reg_gn']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_reg_gn']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_inyectores']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_inyectores']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_max']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_max']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_pdc']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_pdc']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_fuga']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_fuga']."</td>
<<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_lira40']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_lira40']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_lira70']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_lira70']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_antirretorno']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_antirretorno']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_exceso']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_exceso']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_llave20']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_llave20']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_llave34']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_llave34']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_reviglp']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_reviglp']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['us_revign']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['uc_revign']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['u_contrato']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['f_otros']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['total']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['iva']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['total2']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['comision']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['anticipo']."</td>
<td ALIGN = CENTER class='inicio_final'>"
.$datos['restoacobrar']."</td>";


// Aqui termina el if

}
else
{
echo 
"no es jefe";
}
//Contamos los operarios de un jefe de equipo.


echo "</tr>";
      }
      
mysql_free_result($generando);
}

// Fin
//


?>
No como discriminar o mejor dicho imprimir despues de cada jefe de equipo sus operarios.

Haber si alguien me puede decir algo, por que no me entero ni del nodo.

Saludos y gracias a todos.

Última edición por marco_sa; 25/01/2008 a las 05:46
  #2 (permalink)  
Antiguo 25/01/2008, 07:42
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Imprimir debajo de cada jefe sus operarios.

Lo que debes hacer es despues de que te muestra el primer lider debes crear otro FOR para que te muestre los operarios de ese Jefe.. no se si me doy a entender..

1.) Colocas el primer select de tu jefe de operario..
2.) Luego colocas otro select para los operarios de eses Jefe..
3.) Se sale el ciclo de los operarios y entra al ciclo de los jefes de nuevo..

Espero me entiendas..

Salu2..!!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #3 (permalink)  
Antiguo 25/01/2008, 07:56
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Re: Imprimir debajo de cada jefe sus operarios.

hola, mira, me paso algo parecido hace unos dias, aqui te dejo el link con codigo, respuestas y hasta explicaciones y dicertaciones por parte de los expertos:
http://www.forosdelweb.com/f18/etiqu...-while-548714/

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #4 (permalink)  
Antiguo 25/01/2008, 11:10
 
Fecha de Ingreso: diciembre-2007
Mensajes: 113
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Imprimir debajo de cada jefe sus operarios.

Hola a todos

Estoy muy agradecido por las respuestas, hoy mismo lo probare y os prometo contaros los resultados, pero la logica que he visto en estas dos respuestas, es totalmente aplastante por lo que deberia de funcionar.

Saludos lo dicho mil gracias, por vuestra gran ayuda
  #5 (permalink)  
Antiguo 26/01/2008, 17:09
 
Fecha de Ingreso: diciembre-2007
Mensajes: 113
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Imprimir debajo de cada jefe sus operarios.

Hola de nuevo


Ya funciona perfectamente, muchisimas gracias a todos.

Con los while funciona perfectamente.

Saludos

Última edición por marco_sa; 27/01/2008 a las 00:09
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:35.