Cita:
Iniciado por javifo $num = rand(1,50);
$sql = "SELECT * FROM `canciones` WHERE `id` = '$num' and '$genero' != '1' and '$categoria' != '1' LIMIT 1";
Oye el 1 significa para la consulta el ultimo genero y el otro 1 la ultima categoria, por que la consulta que me dijiste funciona, lo unico es que cuando el numero aleatorio que genero con
rand(1,50) coincide con una fila que tiene un genero ò una categoria igual a la de la ultima cancion simplemente no la pone o sea omite el resultado dejando el espacio en blanco.
Esto es el codigo que estoy poniendo
<html>
<head></head>
<body>
<?php
numero_melodias = 1; // numero de melodias a mostrar
while ($num_melodias <= 10) {
$numero = rand(1,50);
$i = mysql_query("SELECT * FROM `canciones` WHERE `id` = '$numero' and `genero` != '$last_gene' and `generico` != '$last_cat'",$conectar);
$cancion = mysql_fetch_array($i);
$last_gene = $cancion['genero']; // aqui guardo el ultimo genero
$last_cat = $cancion['categoria']; // aqui guardo la ultima categoria
$num_melodias++;
?>
<table border="0">
<tr>
<td><? echo($cancion['titulo']); ?></td>
</tr>
<? } // termina el bucle ?>
</table>
</body>
</html>
No se que se pueda hacer o si estoy poniendo algo mal.
Saludos