<?php
$IDs = array();
foreach($PageNames['data'] as $PageName){
$IDs[] = $PageName['page_id'];
}
$investigate_id = mysql_query('SELECT page_id FROM pages WHERE page_id IN (\''.implode('\', \'', $IDs)).' LIMIT 1 ');
while($assoc = mysql_fetch_assoc($investigate_id)){
// iff
}
?>
Использование WHERE col IN сделает один запрос для всех идентификаторов, поэтому
WHERE page_id IN (1,3,45,6,7,6,7,5,2,1,5,76), и он будет делать это в запросе, просто сделайте цикл после результатов и сделайте все, что угодно хочешь!