Verás, estoy usando estas funciones:
Código PHP:
function idbBarXtipoBar($idTipoBar)
{
$Query="SELECT id_bar_info FROM pr_bar_info WHERE id_tipo_bar='$idTipoBar'";
$IdConsulta = mysql_query($Query);
$NFilas = mysql_num_rows($IdConsulta);
$matriz_total[0] = $NFilas;
for($i=0;$i<$NFilas;$i++)
{
$ResultQuery = mysql_fetch_array($IdConsulta);
$matriz = array($ResultQuery["id_bar_info"]);
$matriz_total[$i+1] = $matriz;
}
return ($matriz_total);
}
function tiposBarra($id_bar_info)
{
$Query="SELECT id_tipo_barra,tipo_barra FROM pr_tipos_barra WHERE id_bar_info='$id_bar_info' GROUP BY id_tipo_barra,tipo_barra";
$IdConsulta = mysql_query($Query);
$NFilas = mysql_num_rows($IdConsulta);
$matriz_total[0] = $NFilas;
for($i=0;$i<$NFilas;$i++)
{
$ResultQuery = mysql_fetch_array($IdConsulta);
$matriz = array($ResultQuery["id_tipo_barra"],$ResultQuery["tipo_barra"]);
$matriz_total[$i+1] = $matriz;
}
return ($matriz_total);
}
y llamo a la función para rellenar un select::
Código PHP:
$idbBarXtipoBar=$buscar->idbBarXtipoBar($idTipoBar);
echo '<label for="id_tipo_barra">Que sirvan:';
echo '</label>';
echo '<select id="id_tipo_barra" name="id_tipo_barra" onchange="submit()">';
echo '<option></option>';
for($ibtb=1;$ibtb<=$idbBarXtipoBar[0];$ibtb++)
{
$tiposDeTapas=$buscar->tiposBarra($idbBarXtipoBar[$ibtb][0]);
for($tdt=1;$tdt<=$tiposDeTapas[0];$tdt++)
{
echo '<option';
if($id_tipo_barra==$tiposDeTapas[$tdt][0])
{
echo ' selected="selected"';
}
echo ' value="'.$tiposDeTapas[$tdt][0].'">'.$tiposDeTapas[$tdt][1].'</option>';
}
}
echo '</select>';
El caso es que como dije, no consigo que en el select no se dupliquen los resultados, este select forma parte de un buscador con selects relacionados, y a esta consulta le llega una variable $idTipoBar y a partir de ahí continúa, y estoy más perdido que el barco del arroz, no entiendo por qué se duplican, como bien dices, ORDER BY debería funcionar, pero no lo hace
Muchas gracias por tu ayuda, ya no se qué hacer para que funcione.