Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera, esse é meu primeiro post aqui no Fórum e o meu problema é o seguinte. Tenho um site de fotos em que na página principal irá aparecer 6 eventos mais atuais sendo que a foto do mesmo será aleatória e gerada automaticamente a cada visita. Até ae tudo bem. Consigo fazer ela gerar normalmente.
1. Preciso pegar todos os registros que tem as 6 ultimas datas mais atuais, pra isso estou usando:
ORDER BY ano DESC, mes DESC, dia DESC, evento ASC LIMIT 6
2. Depois disso preciso que de todos os registros pegos ele separe 1 de cada data em ordem aleatória. Ai q entra o meu problema.
A tabela que pego os dados chama-se fotos e nela tem os campos ano, mes, dia, evento, arquivo, pasta e para cada foto eles se repetem. por isso preciso de uma só aleatória.
O meu php está dessa forma:
$sql_1 = mysql_query("SELECT * FROM fotos WHERE noar = 'SIM' ORDER BY ano DESC, mes DESC, dia DESC, evento ASC, RAND() LIMIT 6");
while($array_1 = mysql_fetch_array($sql_1)){
$evento2 = $array_1["evento"];
$arquivo2 = $array_1["arquivo"];
$pasta2 = $array_1["pasta"];
Porém o que acontece, ele pega os dados por data realmente porém como no meu teste cada evento tem 3 fotos ele coloca aleatório somente os 6 primeiros registros que são exatamente de 2 eventos somente.
Tentei assim tb
$sql_1 = mysql_query("SELECT *, RAND() AS rnd FROM fotos WHERE noar = 'SIM' ORDER BY rnd LIMIT 6");
Porém ele pega aleatório da tabela inteira e não somente os 6 últimos. O certo seria pegar os 6 ultimos eventos por data, colocar em ordem aleatória e pegar 1 dado de cada data.
Conto com a ajuda de alguém!!! Muito obrigado!!
Thiago
Carregando comentários...