Repasando el código ya sé por qué tienes el problema 2 (y probablemente se arregle el 1 también). Revisa tu select:
Código PHP:
Ver original$consulta= 'SELECT profesionales.nombreempresa ,profesionales.provprof , profesionales.pobprof ,profesionales.descripciongym ,profesionales.descuento ,
provincia.idprovincia ,provincia.provincia,
poblacion.idpoblacion ,poblacion.poblacion
FROM actividades, instalaciones, provincia, poblacion, profesionales WHERE profesionales.provprof = provincia.idprovincia AND profesionales.pobprof = poblacion.idpoblacion
ORDER BY fechaingreso ASC';
Para qué tienes en la lista de tablas actividades e instalaciones si no las usas para nada? Ni las metes en el WHERE ni consultas ningún campo de las mismas. Probablemente esto te dé la multiplicación de panes y peces ;) Además, te recomiendo que no pongas la cadena en varias líneas, te puede dar problemas. Haz concatenación:
Código PHP:
Ver original$limit = "SELECT PR.nombreempresa, PR.provprof, PR.pobprof, PR.descripciongym, PR.descuento, PV.idprovincia, PV.provincia, PO.idpoblacion, PO.poblacion ";
$limit .= "FROM provincia PV, poblacion PO, profesionales PR WHERE PR.provprof = PV.idprovincia AND PR = PO.idpoblacion ";
$limit .= "ORDER BY fechaingreso ASC ";
$limit .= "LIMIT " . ($page -1) * $rows_per_page . "," . $rows_per_page;
Prueba eso (tienes que cambiar las dos consultas) y me comentas si se arreglaron los dos problemas.