tu problema yo lo he tenido, siempre me repetia el ultimo registro, yo lo solucione, desmontando el trozo de script que lo producia,, te dejo como lo hago yo.
Código PHP:
<?php
if (!isset($_GET['accion'])){//inicio funcion menu dinamico
/////////////////////////////////////////////////////////////////////////////////
/*SACO EL NUMERO DE MENUS Y COMPRUEBO SI ESTA ONLINE O DESCONECTADO: INICIO*/
$totalMenusActivosDin = mysql_num_rows( mysql_query("SELECT DISTINCT numero_menu FROM $sql_tabla_dat_menu WHERE orientacion_menu='0'") ) or die("MySQL dice: ".mysql_error());//saco el numero de menus activos
for ($cuentaBucleDin=1;$cuentaBucleDin<$totalMenusActivosDin+1;$cuentaBucleDin++) {//genero bucle
$consultMenuOnlineDin = mysql_query("SELECT $selecttbl_dat_menu FROM $sql_tabla_dat_menu WHERE numero_menu='$cuentaBucleDin'") or die("MySQL dice: ".mysql_error());//saco si esta online o no el bloke
while($resultMenuOnlineDin = mysql_fetch_array($consultMenuOnlineDin)) {
$onlineDinDato = $resultMenuOnlineDin['mostrar_menu'];//transporte menu activo=1, desactivado=0
}//salgo del while_mysql_fetch_array
if ($onlineDinDato == "1") {//compruebo que este online el menu
/////////////////////////////////////////////////////////////////////////////////
/*DESPLIEGO BLOKES CON LOS DATOS: INICIO*/
$html->expandir('mostrarLinkMenuDin', '-filaGeneraMenuDinamico');//reseteo las filas de la tabla, para limpiar al volver con el for
$consulMenuDin = mysql_query("SELECT $selecttbl_dat_menu FROM $sql_tabla_dat_menu WHERE mostrar_menu='1' AND numero_menu='$cuentaBucleDin' AND mostrar_dat='1' ORDER BY posicion_dat ASC") or die("MySQL dice: ".mysql_error());//busca los datos de cada menu y los ordena automaticamente
while($resulConsulMenuDin = mysql_fetch_array($consulMenuDin)) {// sacamos los datos en un array
$html->asignar('textoTituloMenus',$resulConsulMenuDin['titulo_menu']);//asigno los valores: titulo menu
$html->asignar('tituloLinkDatMenu',$resulConsulMenuDin['titulo_dat']);//asigno los valores: titulo de los link de cada menu
$html->asignar('urlLinkDatMenu',$resulConsulMenuDin['url_dat']);//asigno los valores: transporte de la url
$html->asignar('targetLinkDatMenu',$resulConsulMenuDin['target_dat']);//asigno los valores: _self, _blank,...
$html->asignar('infoLinkDatMenu',$resulConsulMenuDin['info_dat']);//asigno los valores: descripcion de cada link
$html->expandir('mostrarLinkMenuDin', '+filaGeneraMenuDinamico');//expando la filas de cada bloke
}//salimos del while
$html->expandir('muestraMenuDinamico', '+bloqGeneraMenuDinamico'); //ATENCION: debo expandirlo en cada interaccion del bucle .. no al final (sino será la última), RECORDATORIO!!!
mysql_free_result($consulMenuDin);// limpiamos memoria
/*DESPLIEGO BLOKES CON LOS DATOS: FIN*/
/////////////////////////////////////////////////////////////////////////////////
}//termino de generar menu
}//termino el for
mysql_free_result($consultMenuOnlineDin); //limpiamos memoria
/*SACO EL NUMERO DE MENUS Y COMPRUEBO SI ESTA ONLINE O DESCONECTADO: FIN*/
}//fin del menu dinamico
if ($_GET['accion']=="redireccion"){//submenu redireccion, cuando pulsan sobre un link
$id = $_GET['id'];
$consultMenuUrl = mysql_query("SELECT $selecttbl_dat_menu FROM $sql_tabla_dat_menu WHERE id='$id'") or die("MySQL dice: ".mysql_error());
while($resultMenuUrl = mysql_fetch_array($consultMenuUrl)) {
$resultMenuUrlName = $resultMenuUrl['url_dat'];
}
header ("Location: $result_menu_url_name");//pulsan boton y linko hacia es sistema <body>
mysql_free_result($consultMenuUrl);// limpiamos memoria
exit;
}//terminamos submenu redireccion
?>
fichero *.tpl
Código PHP:
<!-- inicioBloque: bloqGeneraMenuDinamico -->
<div align="{div_align_menu}">
<table border="{max_menu_bloke_table_border}" width="{max_menu_bloke_table_width}">
<tr>
<th width="100%" height="15" align="{max_menu_bloke_aling_td}" bgcolor="{max_menu_bloke_td_bgcolor}" background="templates/images/barra_menu.gif"><b>{textoTituloMenus}</font><b></th>
<tr>
<td width="100%" height="2" bgcolor="{max_menu_bloke_td_bgcolor}" background="templates/images/barra_menu.gif"></td>
</tr>
{mostrarLinkMenuDin}
<!-- inicioBloque: filaGeneraMenuDinamico -->
<tr>
<td width="100%"><a href="{urlLinkDatMenu}" target="{targetLinkDatMenu}" title="{infoLinkDatMenu}" class="max_menu_url" class=&{max_menu};><img src="templates/images/db.gif" height="7" width="8" border="0"> {tituloLinkDatMenu}</a></td>
</tr>
<!-- finBloque: filaGeneraMenuDinamico -->
<tr>
<td width="100%" height="2" bgcolor="{max_menu_bloke_td_bgcolor}" background="templates/images/barra_menu.gif"></td>
</tr>
<tr>
<td width="100%" height="6" bgcolor="{max_menu_bloke_td_bgcolor}" background="templates/images/barra_menu.gif"></td>
</tr>
</table>
</div>
<br>
<!-- finBloque: bloqGeneraMenuDinamico -->