Oi Marco,
order by 'title' rand()
e
order by 'id' rand()
não interfere na ordenação inclusive dá erro de sql.
seria montado como:
order by rand()
Será?
Abs
Edinho Almeida
2008/4/3 Renato Costa Barbosa <[EMAIL PROTECTED]>:
> Bom realmente eu vi... falha minha, entre os parametros existe o random
> mesmo....
> desculpe galera
>
>
>
> Em 03/04/2008, às 14:41, Marco Telles escreveu:
>
>
>
> > Oi Edinho, não querendo discordar, mas esclarecer, nesse caso não vejo
> > falha na documentação.
> > No guia está bem claro: o order_by tem dois parâmetros, onde o segundo
> > parâmetro é a direção do resultado, e que as opções são: asc or desc,
> > or random.
> >
> > Olhando a librarie, fica mais claro. O random é apenas "maquiagem"
> > porque ele é substituído pelo rand() do mysql, conforme trecho:
> >> function order_by($orderby, $direction = '')
> >> {
> >> if (strtolower($direction) == 'random')
> >> {
> >> $orderby = ''; // Random results want or don't need a
> >> field name
> >> $direction = $this->_random_keyword;
> >> }
> > Onde $this->_random_keyword = ' RAND()'; // database specific random
> > keyword
> >
> > Agora só não entendi porque ao passar o rand ele desconsidera a coluna,
> > já que eu posso querer ordenar por qualquer coluna não é mesmo ? Ou
> > estou enganado ?
> >
> > Abs
> >
> >
> > Edinho Almeida escreveu:
> >> Tenho que concordar que na documentação não ficou claro.
> >>
> >> olhando em system/database/DB_active_rec.php linha 763
> >>
> >> vi que a string "random" deve ser passado como segundo argumento e não
> >> importará o primeiro argumento.
> >>
> >> Se passar assim:
> >> $this->db->order_by('rand()');
> >> obterás:
> >> order by `rand()` //porque o ci vai formatar o rand() como se fosse
> >> coluna
> >>
> >>
> >> então fica:
> >> $this->db->order_by("", "random");
> >> ou
> >> $this->db-
> >> >order_by("nada_aqui_fara_direferenca_se_o_argumento_seguinte_for_rand
> >> om",
> >> "random");
> >>
> >> No Change Log do 1.6.0
> >> Added 'random' as an order_by() option , and removed "rand()" as a
> >> listed option as it was MySQL only.
> >>
> >>
> >> Abs
> >> Edinho Almeida
> >>
> >>
> >>
> >>
> >>
> >>
> >> On Thu, Apr 3, 2008 at 11:32 AM, Marco Telles
> >> <[EMAIL PROTECTED]> wrote:
> >>
> >>> Renato
> >>>
> >>> CodeIgniter User Guide Version 1.6.1
> >>>
> >>>
> >>>
> >>>> $this->db->order_by();
> >>>>
> >>>> Lets you set an ORDER BY clause. The first parameter contains the
> >>>> name
> >>>> of the column you would like to order by. The second parameter lets
> >>>> you
> >>>> set the direction of the result. *Options are asc or desc, or
> >>>> random.*
> >>>> $this->db->order_by("title", "desc");
> >>>>
> >>>> // Produces: ORDER BY title DESC
> >>>>
> >>>> You can also pass your own string in the first parameter:
> >>>> $this->db->order_by('title desc, name asc');
> >>>>
> >>>> // Produces: ORDER BY title DESC, name ASC
> >>>>
> >>>> Or multiple function calls can be made if you need multiple fields.
> >>>>
> >>>> $this->db->order_by("title", "desc");
> >>>> $this->db->order_by("name", "asc");
> >>>>
> >>>> // Produces: ORDER BY title DESC, name ASC
> >>>>
> >>>>
> >>> Vê se ajuda... ;) E olha que eu ando enxergando mal... heheheheh
> >>>
> >>> Muita sorte para nós!
> >>>
> >>> Marco Telles
> >>>
> >>>
> >>>
> >>>
> >>> Renato Costa Barbosa escreveu:
> >>>
> >>>
> >>>> Opa
> >>>> Yeah, li sim,
> >>>> eu estyou usando a 1.6.1 e procurei na sessão Database Library, me
> >>>> apeguei mais no tópico active record, mas na pesquisa inteira, eu
> >>>> num
> >>>> achei nada fala fale sobre o rand
> >>>> Normalmente eu uso o sql dessa forma SELECT * FROM table ORDER BY
> >>>> RAND(), apenas para randomizar sem nenhum tratamento
> >>>>
> >>>>
> >>>>
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> Lista mailing list
> >>> [email protected]
> >>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >>>
> >>>
> >>
> >>
> >>
> >>
> >
> > _______________________________________________
> > Lista mailing list
> > [email protected]
> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
> >
> _____________________________________________
> Renato Costa Barbosa
> Comunicação e Design - ISIC Brasil
> Fones: (18) 9119 5134 - (18) 2102 4710
> [EMAIL PROTECTED] - http://www.isic.com.br
> Soluções em Negócios Eletrônicos
> _____________________________________________
>
>
>
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
--
Abs
Edinho Almeida
11 3711-7074
11 3564-8906
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br