Difícil de leer ese codigo...
Porque haces $maxi veces la misma consulta a la bbdd.
Que seguridad tienes que esa consulta te retorna los registros en el orden que te interesa para que tenga algo que ver el registro con el registro de $param.... bueno comparas todos con todos quizas no hace falta ordenar.
Código PHP:
Ver original<?php
if (!empty($_POST['bus_'])) { $param=explode(" ",$_POST['bus_']); $bus_=$_POST['bus_'];
//ejecutamos la consulta una sola vez
}
//ahora en $consulta tienes el resultado completo de la consulta
//Apartir de aqui puedes comparar los dos arrays, sin "molestar" mas al servidor
for($punt=0;$punt<count($param);$punt++){ for($punta=0;$punta<count($consulta);$punta++) $row=$consulta[$punta];
if (strpos($row['pmx_nom'],$param[$punt]) || strpos($row['pmx_app'],$param[$punt]) || strpos($row['pmx_apm'],$param[$punt])) { echo $row['pmx_nom']." ".$row['pmx_app']." ".$row['pmx_apm']." ";
}
}
}
}
?>
No se si tiene sentido pero esto cargará menos al servidor de bbdd.
He supuesto que aqui solo habia un error tipografico
$queryca = mysql_query("select * from usr_pmx");
...
$resultdca = mysql_fetch_array($queryc);
$queryc
a <>$queryc
y tambien he supuesto que $bus_ la usas mas adelante....