Foros del Web » Programando para Internet » PHP »

While dentro de While, problema tablas

Estas en el tema de While dentro de While, problema tablas en el foro de PHP en Foros del Web. Estimados, necesito ayuda para el siguiente problema. No puedo hacer funcionar correctamente un while dentro de otro de manera dependiente entre los select en la ...
  #1 (permalink)  
Antiguo 29/10/2011, 10:29
 
Fecha de Ingreso: octubre-2011
Mensajes: 4
Antigüedad: 12 años, 6 meses
Puntos: 0
Exclamación While dentro de While, problema tablas

Estimados, necesito ayuda para el siguiente problema.

No puedo hacer funcionar correctamente un while dentro de otro de manera dependiente entre los select en la base de datos.

Estoy armando una página tipo resumen que debe mostrar información en tablas.

En el sistema existen trabajadores que pueden tener 1 o más especialidades. Entonces, se muestra primero una tabla resumen del trabajador que aumenta de acuerdo al número de trabajadores y luego otra tabla que vincula a ese trabajador con sus especialidades.
Ejemplo de la tabla con problemas;

Nombre: Esp.1 Esp.2 Esp.3
Trabajador 1 Si No Si
Trabajador 2 No No Si
Trabajador 3 Si Si Si

Estas especialidades del trabajador se guardan en otra tabla (CONEXION1).

El problema: Cuándo llamo a los distintos trabajadores y busco sus especialidades, me agrega en la tabla cada especialidad en una fila aparte;

Nombre: Esp.1 Esp.2 Esp.3
Trabajador 1 Si No No
Trabajador 1 No No Si
Trabajador 1 No No No
Trabajador 2 No No Si
.
.
.


No he podido arreglar este problema. Envío código propuesto.

<table width="670" border="0">
<tr>
<td width="219" bgcolor="#FF6600"><div align="center"><span class="Estilo1">Nombre Especialista:</span></div></td>
<td width="85" bgcolor="#FF6600"><div align="center"><span class="Estilo1">Ambiental:</span></div></td>
<td width="85" bgcolor="#FF6600"><div align="center"><span class="Estilo1">Civil:</span></div></td>
<td width="85" bgcolor="#FF6600"><div align="center"><span class="Estilo1">Eléctrica: </span></div></td>
<td width="85" bgcolor="#FF6600"><div align="center"><span class="Estilo1">Estructural:</span></div></td>
<td width="85" bgcolor="#FF6600"><div align="center"><span class="Estilo1">Hidráulica:</span></div></td>
</tr>
<?php
$query = "SELECT ID_PERSONAL, PRIMER_NOMBRE_PERSONAL,
PRIMER_APELLIDO_PERSONAL, SEGUNDO_APELLIDO_PERSONAL
FROM PERSONAL
WHERE (PERSONAL.ID_CONSULTOR = $id_consultor) AND (PERSONAL.VERSION = $version)
ORDER BY ID_PERSONAL";

$tabla=odbc_exec($DATABASE1,$query)or die(exit("Error en odbc_exec"));
$i=1;
while($r = odbc_fetch_row($tabla)){

$query2 = "SELECT CONEXION1.*
FROM CONEXION1
WHERE (CONEXION1.ID_CONSULTOR = $id_consultor) AND (CONEXION1.VERSION = $version) AND
(CONEXION1.ID_PERSONAL = '".floatval(odbc_result($tabla,"ID_PERSONAL")). "')
ORDER BY ID_CONEXION1";

$tabla2=odbc_exec($DATABASE1,$query2)or die(exit("Error en odbc_exec"));
while($r2 = odbc_fetch_row($tabla2)){
?>
<tr
<?php
if (paridad($i)){
echo " bgcolor='#FFFFFF'";
}else{
echo " bgcolor='#FFFFCC'";
}
?>>
<td><div align="center" class="Estilo12"><?php

$nom1 = trim(odbc_result($tabla,"PRIMER_NOMBRE_PERSONAL")) ;
$ape1 = trim(odbc_result($tabla,"PRIMER_APELLIDO_PERSONAL" ));
$ape2 = trim(odbc_result($tabla,"SEGUNDO_APELLIDO_PERSONAL "));

echo $nom1." ".$ape1." ".$ape2;

?></div></td>
<td><div align="center">
<?php
if(floatval(odbc_result($tabla2,"ID_ESPECIALIDAD") )==5){
?>
<img src="http://www.forosdelweb.com/f18/IMAGENES/tick.jpg" alt="ver" width="20" height="20" align="middle" longdesc="IMAGENES/select.jpg"/>
<?php
}else{
?>
<img src="http://www.forosdelweb.com/f18/IMAGENES/incom.jpg" alt="ver" width="20" height="20" align="middle" longdesc="IMAGENES/select.jpg"/>
<?php
}
?>
</div></td>
<td><div align="center">
<?php
if(floatval(odbc_result($tabla2,"ID_ESPECIALIDAD") )==2){
?>
<img src="http://www.forosdelweb.com/f18/IMAGENES/tick.jpg" alt="ver" width="20" height="20" align="middle" longdesc="IMAGENES/select.jpg"/>
<?php
}else{
?>
<img src="http://www.forosdelweb.com/f18/IMAGENES/incom.jpg" alt="ver" width="20" height="20" align="middle" longdesc="IMAGENES/select.jpg"/>
<?php
}
?>
</div></td>
<td><div align="center">
<?php
if(floatval(odbc_result($tabla2,"ID_ESPECIALIDAD") )==4){
?>
<img src="http://www.forosdelweb.com/f18/IMAGENES/tick.jpg" alt="ver" width="20" height="20" align="middle" longdesc="IMAGENES/select.jpg"/>
<?php
}else{
?>
<img src="http://www.forosdelweb.com/f18/IMAGENES/incom.jpg" alt="ver" width="20" height="20" align="middle" longdesc="IMAGENES/select.jpg"/>
<?php
}
?>
</div></td>
<td><div align="center">
<?php
if(floatval(odbc_result($tabla2,"ID_ESPECIALIDAD") )==3){
?>
<img src="http://www.forosdelweb.com/f18/IMAGENES/tick.jpg" alt="ver" width="20" height="20" align="middle" longdesc="IMAGENES/select.jpg"/>
<?php
}else{
?>
<img src="http://www.forosdelweb.com/f18/IMAGENES/incom.jpg" alt="ver" width="20" height="20" align="middle" longdesc="IMAGENES/select.jpg"/>
<?php
}
?>
</div></td>
<td><div align="center">
<?php
if(floatval(odbc_result($tabla2,"ID_ESPECIALIDAD") )==1){
?>
<img src="http://www.forosdelweb.com/f18/IMAGENES/tick.jpg" alt="ver" width="20" height="20" align="middle" longdesc="IMAGENES/select.jpg"/>
<?php
}else{
?>
<img src="http://www.forosdelweb.com/f18/IMAGENES/incom.jpg" alt="ver" width="20" height="20" align="middle" longdesc="IMAGENES/select.jpg"/>
<?php
}
?>
</div></td>
</tr>
<?php
}
odbc_free_result($tabla2);

$i++;
}
odbc_free_result($tabla);
?>
</table>

Última edición por felipeasi; 31/10/2011 a las 08:54

Etiquetas: tabla, 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 00:11.