Randomizar Array
Pessoal, faz muito tempo que nã posto aqui. Ih olha os smilyes de touquinha de Natal.
Bom, é o seguinte.
Estou montando um subsistema para um portal de enquetes. Tá perfeitinho o cadastro, a alteração, exclusão, visualização, resultados, ativação e desativação.
Bem completo e funcional no painel Administrativo do site.
Pois bem, agora, comecei a passar parte da pogramação para o portal e comecei pelas enquetes pois foi o último item que eu programei para o Painel.
O sistema das enquetes permite cadastro, logo é permitido ter-se múltiplas enquetes. Mas isso não seria nem um pouco útil se, no portal eu não pudesse usar todas as enquetes.
Pensei em fazer uma chamada, isto é, carregar e montar o layout da enquete pelo ID, como tem em diversos tutoriais por aí.
Mas daí analisei a situação e vi que ficar abrindo o template os arquivo de código pra fuçar atrás da chamada de uma linha que define qual enquete seria exibida no template Smarty seria uma dor de cabeça terrível.
Então decidi, fazer enquetes aleatórias. Porém não consegui http://forum.imasters.com.br/public/style_emoticons/default/natal_dry.gif
A query se baseia em um campo da tabela chamado active e retorna toas as informações de todas as enquetes cadastradas quando active = 1
$query = mysql_query( "SELECT * FROM `enquetes` WHERE active = '1'", $GLOBALS['link'] )
or die( db_error( mysql_errno() ) );Certinho. Dentro de um while, com um um print_r() para testar vejo, por enquanto, os dois únicos registros e suas informações:
>
Array
(
[0] => Array
(
[iD] => 1
[pergunta] => Pergunta
[respostas] => Uma pergunta megalomaníaca de gigante para testar o espaçamento do mini layout,Alternativa 2,Alternativa 3,Alternativa 4,Alternativa 5,Alternativa 6,Alternativa 7,Alternativa 8,Alternativa 9,Alternativa 10
[votos] => 0,1,2,3,4,5,7,8,9,10
[iP] => 123.456.789.101,123.456.789.102,123.456.789.103,123.456.789.104,127.0.0.1
[data] => 2007-12-10
[active] => 1
)
[1] => Array
(
[iD] => 3
[pergunta] => Pergunta 2
[respostas] => Alternativa 1,Alternativa 2,Alternativa 3,Alternativa 4
[votos] => 0,0,0,3
[iP] =>
[data] => 2007-12-07
[active] => 1
)
)
Mas aí é que mora o problema, pois, como quero aleatoriedade, só posso receber UM bloco de dados e não, no caso, dois.
Já trabalhei com aleatoriedade de arrays com shuffle(), mas foi em uma coisa mais simples (geração randômica de cores). Dessa forma, muldimensional, nadinha.
Como faria?
Discussão (2)
Carregando comentários...