Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/11/2003, 00:06
Avatar de jpinedo
jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
La verdad es que no sé que estás haciendo (o mejor.. para qué sirve)... lo que te puedo decir son algunas cosas ahora que ví tu código:
-Creo que ese if ($row["id_tipo"]==1) no es necesario, pues puedes incluirlo en la consulta sql con un "AND" así:
"select id_eval,id_tipo,id_curso from evaluaciones where id_curso='".$curso."' and id_tipo=1 order by id_eval";

-Otra: si $post_cert est,a inicializado en 0, no hace falta que escribas
$id_cert[$post_cert]=$row["id_eval"];
$post_cert=$post_cert+1;

Bastará con que pongas:
$id_cert[]=$row["id_eval"];

Porque el índice del array definido así se autoincrementa.

-También creo que debes sacar el implode del bucle while para que se ejecute sólo al final.

Yo haría tu código así:
Código PHP:
$sql="select id_eval,id_tipo,id_curso from evaluaciones where id_curso='".$curso."' and id_tipo='1' order by id_eval");
$consulta=mysql_query($sql) or die ("Error en la consulta: ".mysql_error());//Así verificas si se produce error a la hora de la consulta.
$certamen=mysql_num_rows($consulta);//Te devuelve el total de registros encontrados.
while($row=mysql_fetch_array($consulta)){
    
$cc=1;//para qué sirve??.. si es para indicar que se encontró al menos un registro, puedes verificar que $certamen > 0
    
$id_cert[]=$row["id_eval"];
}
if(
$certamen>$maximo){ 
    
$maximo=$certamen;
}
$eval_cert=implode("-",$id_cert); 
Aunque se puede optimizar más, utilizando count(*) en lugar de num_rows... etc..

Saludos

Última edición por jpinedo; 11/11/2003 a las 00:09