Ok, compliquemosla un poco más.
A la base de datos agregemosle 2 campos más, uno que se llame "categoria" y otro que se llame "ciudad" que puede variar entre 1 y n.
Para que en el anuncio.php?ciudad=X&categoria=Y
Siendo X y Y los valores respectivos a ciudad y categoria.
Código PHP:
mysql_select_db($database_AnunciosWeb, $AnunciosWeb);
$categoria = $_GET['categoria'];
$ciudad = $_GET['ciudad'];
$query_Consulta2 = "SELECT DISTINCT id FROM anuncios WHERE activo=1 AND categoria='$categoria' AND ciudad='$ciudad' ORDER BY RAND() LIMIT 0,17";
$Consulta2 = mysql_query($query_Consulta2, $AnunciosWeb) or die(mysql_error());
$row_Consulta2 = mysql_fetch_assoc($Consulta2);
$totalRows_Consulta2 = mysql_num_rows($Consulta2);
Código HTML:
<?php echo '<table width="834" border="0" cellspacing="2" cellpadding="0">';
while ($row_Consulta2 = mysql_fetch_array($Consulta2)) {
if ($i == 1 || ($i - 1) % 4 == 0) {
echo '<tr>';
}
echo '<td width="206"><a href="anuncio.php?id='.$row_Consulta2['id']. '"><img src="anuncios/'.$row_Consulta2['id'].'.jpg" width="206" height="160" border="0" /></a></td>';
if ($i % 4 == 0) {
echo '</tr>';
}
$i++;
}
echo '</table>'; ?>
Cuando filtro por URL en ciudad o categoria, si me filtra y me ordena, pero por ejemplo en una categoria que tiene 5 datos, solo me muestra 4, en la que tiene 2 datos solo me muestra 1. Es decir 1 menos de los que realmente hay.