Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cassiano óliver

"embaralhar" resultado de uma consulta...

Recommended Posts

tenho esse SELECT...

SELECT id, tag, COUNT(*) AS qnt_tag FROM tags GROUP BY tag ORDER BY qnt_tag DESC LIMIT 20

As palavras são exibidas assim...

 

palavra1 palavra2 palavra3 palavra4 palavra5

exatamente como queria ...

agora no laço que mostra as palavras, quero randomizá-las, embaralhá-las para que não fique nesta ordem, tentei aqui mas não consegui...

 

queria um resultado assim:

palavra2 palavra5 palavra3 palavra4 palavra1

minha tentativa

while ... {
	 $tag[] = $dados["tag"];
	 echo $tag[round(0,19)]
}

deu muito certo não, 1º que algumas palavras não aparecem e as palavras maiores também não...

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php

 

$arr[] = "palavra 1";

$arr[] = "palavra 2";

$arr[] = "palavra 3";

$arr[] = "palavra 4";

 

echo '<b>before</b><br>';

print_r( $arr );

echo '<hr>';

rand( $arr ); // http://php.net/rand

echo '<br><b>after</b><br>';

print_r( $arr );

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

$x = 0;
while ... {
$tag[$x] = $dados["tag"];
$x++;}

foreach($tag as $arr) {
$rand = rand(0, 19);
while(isset($randy[$rand])) {
$rand = rand(0, 19);}
$randy[$rand] = $rand;
echo $tag[$rand];}

tente por isso

organizei com 19 tags, se tiver mais é só mudar os dois $rand

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.