Bueno, podrian ayudarme con el siguiente codigo? lo que necesito, es que me digan si la función o ejecuccion estaria bien echa, osea no me manda ningun error ni nada, pero como soy un poco desordenado, me imagino que se me paso algo, bueno el codigo es el siguiente (y ams abajo la explicación)
Código PHP:
<?php
$consulta_1 = mysql_query("SELECT * FROM fondos where subcategoria_corto='$array[subcategoria_corto]' and visible='1' ORDER BY descargas DESC limit 20", $conexion);
$row_1 = mysql_num_rows($consulta_1);
if($row_1 >= 20) {
while($array_1 = mysql_fetch_array($consulta_1)) {
$carrusel .= '<a href="' . $url_script . $array_1[categoria_corto] . '/' . $array_1[subcategoria_corto] . '/' . $array_1[nombre_corto] . '/ver/' . $array_1[id] . '"> <img src="' . $url_script . 'vista-previa/' . $array_1[id] .'.jpg" width="116" height="86" alt="' . $array_1[nombre] . '" title="' . $array_1[nombre] . '" /></a>';
}
}
else
{
$consulta_2 = mysql_query("SELECT * FROM fondos where subcategoria_corto='$array[subcategoria_corto]' and visible='1' ORDER BY descargas DESC limit " . $row_1 ."", $conexion);
while($array_2 = mysql_fetch_array($consulta_2)) {
$carrusel .= '<a href="' . $url_script . $array_2[categoria_corto] . '/' . $array_2[subcategoria_corto] . '/' . $array_2[nombre_corto] . '/ver/' . $array_2[id] . '"> <img src="' . $url_script . 'vista-previa/' . $array_2[id] .'.jpg" width="116" height="86" alt="' . $array_2[nombre] . '" title="' . $array_2[nombre] . '" /></a>';
$not .= $array_2[id] . ",";
}
$trim_1 = trim ($not,",");
$limit_1 = 20 - $row_1; #numero de reusltados que faltan mostrar
$consulta_3 = mysql_query("SELECT * FROM fondos where categoria_corto='$array[categoria_corto]' and visible='1' and id NOT IN(" . $trim_1 . ") ORDER BY descargas DESC limit " . $limit_1 ."", $conexion);
$row_3 = mysql_num_rows($consulta_3); # numero de resultado encontrados por categoria
if($row_3 >= $limit_1) {
while($array_3 = mysql_fetch_array($consulta_3)) {
$carrusel .= '<a href="' . $url_script . $array_3[categoria_corto] . '/' . $array_3[subcategoria_corto] . '/' . $array_3[nombre_corto] . '/ver/' . $array_3[id] . '"> <img src="' . $url_script . 'vista-previa/' . $array_3[id] .'.jpg" width="116" height="86" alt="' . $array_3[nombre] . '" title="' . $array_3[nombre] . '" /></a>';
}
}
else
{
$consulta_4 = mysql_query("SELECT * FROM fondos where categoria_corto='$array[categoria_corto]' and visible='1' ORDER BY descargas DESC limit " . $row_3 ."", $conexion);
while($array_4 = mysql_fetch_array($consulta_4)) {
$carrusel .= '<a href="' . $url_script . $array_4[categoria_corto] . '/' . $array_4[subcategoria_corto] . '/' . $array_4[nombre_corto] . '/ver/' . $array_4[id] . '"> <img src="' . $url_script . 'vista-previa/' . $array_4[id] .'.jpg" width="116" height="86" alt="' . $array_4[nombre] . '" title="' . $array_4[nombre] . '" /></a>';
$not .= $array_4[id] . ","; # se agregan resultados mostrados por categoria
}
$trim_2 = trim ($not,",");
$limit_2 = 20 - ($row_1 + $row_3); #numero de reusltados que faltan mostrar
$consulta_5 = mysql_query("SELECT * FROM fondos where visible='1' and id NOT IN(" . $trim_2 . ") ORDER BY descargas DESC limit " . $limit_2 ."", $conexion);
while($array_5 = mysql_fetch_array($consulta_5)) {
$carrusel .= '<a href="' . $url_script . $array_5[categoria_corto] . '/' . $array_5[subcategoria_corto] . '/' . $array_5[nombre_corto] . '/ver/' . $array_5[id] . '"> <img src="' . $url_script . 'vista-previa/' . $array_5[id] .'.jpg" width="116" height="86" alt="' . $array_5[nombre] . '" title="' . $array_5[nombre] . '" /></a>';
}
}
}
?>
Bueno, lo que se supone que hace este codigo, es mostrar 20 imagenes relacionadas con la subcategoria, si esta no hacen 20, se buscan en las categorias, luego si en esta nos e hacen 20, se buscan cualquier imagen... entocnes mi preugnta es si esto estaria bien echo?
modificacion: me faltaba agregar que nose pueden repetir ninguna imagen, es por eso del uso del NOT IN.
nota: no hay ningun error de ejecucción, solo es una dudas, espero que me puedan ayudar