Tengo un pequeño error cuando muestro mis registros usando un JOIN en la sentencia SQL. Ya que en una tabla tengo los datos del registro y en otra tengo el ID del registro.
Este es mi codigo
Código PHP:
<?
$sql= mysql_query("SELECT servicio_id FROM ".COTIZA_TABLE." ");
$row=mysql_fetch_array($sql);
$sid = explode(",", $row[servicio_id]);
for($i=0;$i<count($sid);$i++) {
?>
<?
$serv= db_query('SELECT servicio_id,servicio_name,costo,gasto FROM '.SERVICIOS_TABLE.' ');
while (list($id,$name,$costo,$gasto) = db_fetch_row($serv)){
$total = $costo + $gasto;
$total = number_format($total,2,".",",");
?>
<tr>
<td><div align="center">
<?=$sid[$i]?>
</div></td>
<td><?=$name?></td>
<td><div align="center">
<?=number_format($costo,2,".",",");?>
</div> </td>
<td><div align="center">
<?=number_format($gasto,2,".",",");?>
</div> </td>
<td><div align="center">
<?=$total?>
</div> </td>
</tr>
<?
}}?>
ID Descripcion Costo Gasto Total
1 xxxxxxxxxxxxxx xxxx x xxxx xxxx
1 xxxxxxxxxxxxxx xxxx x xxxx xxxx
1 xxxxxxxxxxxxxx xxxx x xxxx xxxx
4 xxxxxxxxxxxxxx xxxx x xxxx xxxx
4 xxxxxxxxxxxxxx xxxx x xxxx xxxx
4 xxxxxxxxxxxxxx xxxx x xxxx xxxx
3 xxxxxxxxxxxxxx xxxx x xxxx xxxx
3 xxxxxxxxxxxxxx xxxx x xxxx xxxx
3 xxxxxxxxxxxxxx xxxx x xxxx xxxx
***(Ven como me duplica 3 veces el registro???... y en mi campo no estan duplicados.)
Deberia salir asi:
ID Descripcion Costo Gasto Total
1 xxxxxxxxxxxxxx xxxx x xxxx xxxx
4 xxxxxxxxxxxxxx xxxx x xxxx xxxx
3 xxxxxxxxxxxxxx xxxx x xxxx xxxx
***(Por que en mi campo tengo solo esos tres registros (1,4,3) y los saco con explode)
Alguien me podría explicar que estoy haciendo mal para que me duplique mis registros????