Salve ragazzi c'è qualkuno di buon cuore che mi possa risolvere questa query mysql!!!

Codice PHP:
function special_text($buffer) {
  
// Usa questa funzione per rimpiazzare le parole
  
$sel_parole mysql_query("SELECT id, parola, gender, modulo, url FROM coll_ipertestuali WHERE active='1'");
$collegamento = array(); 
while(
$array mysql_fetch_array($sel_parole)) {
  
  if(
$array['gender'] == 1) {
  
$collegamento[$array['id']] = "<a href=\"http://".$array['url']."\" title=\"".$array['parola']."\">".$array['parola']."</a>";
  } elseif(
$array['gender'] == 2) {
  
$collegamento[$array['id']] = "<a href=\"index.php?modulo=".$array['modulo']."\" title=\"".$array['parola']."\">".$array['parola']."</a>";
  } elseif(
$array['gender'] == 3) {
  
$collegamento[$array['id']] = "<a href=\"index.php?modulo=".$array['modulo']."\" title=\"".$array['parola']."\">".$array['parola']."</a>";
  }
   return(
str_ireplace($array['parola'] , $collegamento[$array['id']] , $buffer));


non so perchè mi da sempre e solo l'ultimo risultato!!!!

Grazie!