bhè... dipende da come ricevi quella lista di id e da che altro fai... comunque, il tempo di esecuzione dello pseudocodice là sopra è quadratico con la lunghezza dell'array.

Prima di finire OT, chiedi di spostare la discussione di là, in php.

Ad ogni modo, se scorry l'array dei recordset estratti,

codice:
$ids = array();

while (...come scorri i recordset ) {
  $ids[] = $row['id'];
  // qui fai il resto delle cose
}

for ($i=0; $i < count($ids) -1; $i++) {
  for ($j = $i+1; $j < count($ids); $j++) {
    echo($ids[$i]." ".$ids[$j]."
");
  }
}