Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/10/2011, 08:41
felipeasi
 
Fecha de Ingreso: octubre-2011
Mensajes: 4
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta problema vinculación de tablas

Estimados, necesito ayuda para el siguiente problema.

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.
Por ejemplo;

Nombre: Esp. 1 Esp. 2 Esp.3 Esp.4
Juanito Soto Si No 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 Esp.4
Juanito Soto Si No No No
Juanito Soto No No Si No
Juanito Soto No 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="../IMAGENES/tick.jpg" alt="ver" width="20" height="20" align="middle" longdesc="IMAGENES/select.jpg"/>
<?php
}else{
?>
<img src="../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="../IMAGENES/tick.jpg" alt="ver" width="20" height="20" align="middle" longdesc="IMAGENES/select.jpg"/>
<?php
}else{
?>
<img src="../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="../IMAGENES/tick.jpg" alt="ver" width="20" height="20" align="middle" longdesc="IMAGENES/select.jpg"/>
<?php
}else{
?>
<img src="../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="../IMAGENES/tick.jpg" alt="ver" width="20" height="20" align="middle" longdesc="IMAGENES/select.jpg"/>
<?php
}else{
?>
<img src="../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="../IMAGENES/tick.jpg" alt="ver" width="20" height="20" align="middle" longdesc="IMAGENES/select.jpg"/>
<?php
}else{
?>
<img src="../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>