Tengo dos tablas.
- Marcas
- Modelos
Hago la siguiente consulta de la base de datos.
Código PHP:
$subtipo=$row["id_subtipo"];
$result_m=mysql_query("select * from t_marca WHERE id_subtipo=".$subtipo." ORDER BY id_marca",$linke);
while($row_m = mysql_fetch_array($result_m)) {
echo"<li><a href='detalle-producto.php?id_modelo=".$row_m["ma_name"]."'>".$row_m["ma_name"]."</a></li>";
$marca=$row_m["id_marca"];
$result_e=mysql_query("select * from t_modelos WHERE id_subtipo=".$subtipo." AND id_marca=".$marca." AND t_modelos.id_marca != 0 ORDER BY id_modelo ;",$linke) or die( "Error en query: $linke, el error es: " . mysql_error() );
while ($row_e = mysql_fetch_array($result_e)){
if($marca==$row_e["id_marca"]){
echo"<li><a href='detalle-producto.php?id_modelo=".$row_e["id_modelo"]."'>".$row_e["mo_titulo"]."</a></li>";
} else {
echo"";
}}}
echo"</ul></div></li>";}
echo"</ul></li>";}
Código PHP:
$result_e=mysql_query("select * from t_modelos WHERE id_subtipo=".$subtipo." AND id_marca=".$marca." AND t_modelos.id_marca != 0 ORDER BY id_modelo ;",$linke) or die( "Error en query: $linke, el error es: " . mysql_error() );
Esto solo aplica si coloco la llamada dentro del while que esta en ella.
Código PHP:
$result_e=mysql_query("select * from t_modelos WHERE id_subtipo=".$subtipo." AND id_marca=".$marca." AND t_modelos.id_marca != 0 ORDER BY id_modelo ;",$linke) or die( "Error en query: $linke, el error es: " . mysql_error() );
while ($row_e = mysql_fetch_array($result_e)){
echo"<li><a href='detalle-producto.php?id_modelo=".$row_m["ma_name"]."'>".$row_m["ma_name"]."</a></li>";
if($marca==$row_e["id_marca"]){
echo"<li><a href='detalle-producto.php?id_modelo=".$row_e["id_modelo"]."'>".$row_e["mo_titulo"]."</a></li>";
} else {
echo"";
Pero lo que ocasiona es que cada vez que salga un modelo salga encima el nombre de la marca. en vez de listar asi:
Marca1
- Modelo1
- modelo2
- modelo3
- modelo1
- modelo2
Cuando pongo la secuencia que mostre hace rato me sale esto:
Marca1
modelo1
Marca1
Modelo2
Marca2
Modelo1
(pero si evita que salga la marca3)
Deseo que evite que salga la marca 3 pero que me los liste por orden de marca.