Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS

Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 383
Sexo: Masculino
Localização: criciuma

Comando RAND repetindo resultados

19-07-2009 15:25

ola galera, tenho um script em PHP e ele tem seu banco de dados Mysql. eh o seguinte teno o array
$destaque = mysql_query("SELECT * FROM automoveis WHERE dest_inicial = 1 ORDER BY RAND() LIMIT 4");

ele randomiza o resultado ateh tudo bem. mas ele repete os resultados. e nao deveria. pq sao 4 resultados diferentes. e ele repetes alguns. gostaria que nao repetisse. alguem pode me da uma luz???? vlwww
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Comando RAND repetindo resultados

19-07-2009 15:52

Usa o select distinct com base no campo que não deve ser repetido.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 383
Sexo: Masculino
Localização: criciuma

Comando RAND repetindo resultados

19-07-2009 16:23

ficaria como?

$destaque = mysql_query("SELECT DISTINCT * FROM automoveis WHERE dest_inicial = 1 ORDER BY RAND() LIMIT 4");
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Comando RAND repetindo resultados

19-07-2009 16:29

O select distinct tem um problema de não retornar todos os campos, pontanto indico esse post

http://www.codigosnaweb.com/forum/DISTI ... _2152.html
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 383
Sexo: Masculino
Localização: criciuma

Comando RAND repetindo resultados

19-07-2009 16:38

:? hummmmm
dei uma olhada e nao me ajudou muito

$destaque = mysql_query("SELECT * FROM automoveis WHERE dest_inicial = 1 ORDER BY RAND() LIMIT 4");

vi o distinct e taul e o group concat() mas nao sei onde aplicar. :help
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Comando RAND repetindo resultados

19-07-2009 16:49

Você vai aplicar de acordo com seus campos

SELECT * FROM automoveis WHERE dest_inicial = 1 ORDER BY RAND() LIMIT 4

Se você tem: placa, carro, tipo, id

SELECT id, placa, carro, tipo, GROUP_CONCAT(DISTINCT id ORDER BY id) FROM suatabela GROUP BY id

Supondo que id seja o campo que se repete, e adicionando no final somente o: LIMIT 3
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 383
Sexo: Masculino
Localização: criciuma

Comando RAND repetindo resultados

19-07-2009 16:55

no meu caso ali eh só uma tabela. "automoveis" ai ficaria.

SELECT automoveis, GROUP_CONCAT(DISTINCT ORDER BY RAND() FROM automoveis GROUP BY id LIMIT 3


só nao entendi o limit 3 sendo que sao 4 vezes o resultado. vlwww
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Comando RAND repetindo resultados

19-07-2009 17:04

Pelo que entendi automoveis é a tabela e não as colunas dela, certo?

Na linha que passei você tem que selecionar todos os campos que vai usar na consulta, o LIMIT é para limitar o número de resultados mostrados em tanto.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 383
Sexo: Masculino
Localização: criciuma

Comando RAND repetindo resultados

19-07-2009 17:09

ixi. meio complicado. me ensinaram um metodo de fazer com uma semente. vc sabe como faz isso? ja fiz e deu certo mas nao lembro mais.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Comando RAND repetindo resultados

19-07-2009 17:22

Semente? Só se for em jardinagem :smile Em programação ainda não ví.

Em todo caso o script acima funciona, mas, se você não conhece a estutura da tabela fica complicado.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 383
Sexo: Masculino
Localização: criciuma

Comando RAND repetindo resultados

19-07-2009 17:44

jardinagem. kkkkkkkkkkkkkkkkkkkkkk

qual jeito ki funciona? esse?

SELECT automoveis, GROUP_CONCAT(DISTINCT ORDER BY RAND() FROM automoveis GROUP BY id LIMIT 3
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Comando RAND repetindo resultados

19-07-2009 18:30

Foi como eu disse, se você tem uma tabela "automoveis", ela deve ter as colunas. Ai você seleciona as colunas. Você tem que ter conhecimento básico sobre MySQL, um vídeo que pode ajudar é esse: http://www.codigosnaweb.com/forum/viewt ... =96&t=3283
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado