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