Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/06/2006, 12:32
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
No deberías hacer esto:

Código PHP:
if ($row=pg_fetch_array($result)) 
para luego volver a usar pg_fethc_array($result)

Las funciones _fetch_ (sea de PostgreSQL o de Msyql o de lo que sea) lo que hacen es obtener el primero resultado (registro que se obtenga) y mover el puntero al siguiente resultado. Si tu tienes sólo un registro de resultado en esa consulta SQL no veras nada en tu while($row=pg_fetch_array($result)) pues ya estás en el 2° resultado (que no existe) .. o nunca veras el primero en caso de más resultados.

Como comenta mauled debes usar pg_num_rows() para contar el n° de registros de resultado que te podría arrojar tu consulta SQL y de ahí .. si es mayor que 0 (cero) .. ejecutar tu While($row=pg_fetch_array($result)) ..

Código PHP:
$num pg_num_rows($result); 

if(
$num >0

echo
"<TABLE width='700' BORDER=5 CELLPADDING=1 CELLSPACING=1 bordercolor='#003399'>"

echo
"  <tr><td><div align='center'><span class='style1'><strong>Cedula</strong></span></div></td><td><div align='center'><span class='style1'><strong>Horas</strong></span></div></td><td><div align='center'><span class='style1'><strong>Fecha</strong></span></div></td></tr>"

do 
 { 
 
printf("<tr><td><div align='center'><span class='style3'>%s</span></div></td><td><div align='center'><span class='style3'>%s</span></div></td><td><div align='center'><span class='style3'>%s</span></div></td></tr>",$row["cedula"], $row["horas"], $row["fecha"]);  

 } 
 while(
$row=pg_fetch_array($result)); 
  
 echo
"  </TABLE>"
 } 
 else  

echo 
"<div align='center'><h4 class='style5'>&iexcl; No se ha encontrado ning&uacute;n Contrato !</h4></div>";  

Puedes hacer un echo a $num y ver que tantos registros devuelve tu consulta SQL.

Por otro lado .. el uso que haces de printf() no es el mejor .. ¿por qué no usas un simple echo y vas concatenando?:

Código PHP:
echo "<htm.....> ......".$row['vaiable']."<mas tag html> ....".$row['variable']; 
O mejor todavía para que veas como te queda tu código HTML si usas un editor de HTML visual tipo Dreamweaver .. "abre" y "cierra" PHP donde lo uses sólo:

Código PHP:
?>
<html .....><? echo $row['variable'?><más html tag's> ..... <? echo $row['variable'?>
<?
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.