Ya tengo la solución se las dejo por si alguien la ocupa.
Código PHP:
$result2= pg_query("SELECT * FROM hemeroteca WHERE dia='$dd' AND mes='$m' AND anyo='$anyo'");
if (!$result2)
{
echo "error al procesar la busqueda pruebe mas tarde o reportelo a\n";
exit;
}
$pag_listas = array(); //Te genera un array vacio, aqui vamos a guardar las que ya tienes.
$pag_faltantes = array(); //Aqui las que no.
while($g = pg_fetch_assoc($result2) ){ //Este seria el while donde haces el pg_fetch_assoc
$id_archivo=$g['id_archivo'];
$año=$g['anyo'];
$mes=$g['mes'];
$dia=$g['dia'];
$nombre=$g['nombre'];
$ruta=$g['ruta'];
$pag = $g['pagina'];
$pag_listas[] = $pag; //En esta parte solo guardas las que ya tienes
}
//El for debe ir afuera del while
for($i = 1; $i <= 50; $i++){
if(!in_array($i, $pag_listas) ){ //Aqui checas si el num NO esta en las que ya tienes
$pag_faltantes[] = $i; // La añadimos al arreglo de las faltantes
}
}
//Ya que termina el for, teoricamente deberias tener todos los numeros que te faltan, y ordenados, pero por cualquier cosa que no estuvieran ordenados le pasas un metodo de ordenacion.
natsort($pag_faltantes); //Le da un orden "natural" al arreglo, es decir 1, 2, 3, ..., 48, 49, 50
//Aqui ya podrias hacer lo que quieras con el arreglo, como imprimirlo con un foreach
if(!$id_archivo)
{
}
else{
echo "<h3>Las paginas faltantes del $dia de $mes del $año son:</h3>";
echo "<ol>";
foreach($pag_faltantes as $pf)
{
echo "<li>$pf</li>";
}
echo "</ol>";
}