Ir para conteúdo

Arquivado

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

turboibest

Listando dados sem repetir...

Recommended Posts

Eu denovo.....rsrsrs

 

Seguinte, tenho uma tabela no bd onde ficam cadastradas ofertas que serão exibidas na página inicial. O problema que na página inicial serão exibidos apenas 9 ofertas. Digamos que tenha 18 ofertas cadastradas, o script tem que listar as 18 e delas sortear 9 e exibir na página inicial sem repetir. Consegui fazer tudo, menos, evitar que as ofertas sejam repetidas, alguem pode me dar uma ajuda? Segue abaixo os script que fiz.

 

<?php	//verificando se tem ofertas cadastradas	$sel_ofertas=mysql_query("SELECT * FROM ofertas") or die ("Erro ao selecionar ofertas.");	$num_ofertas=mysql_num_rows($sel_ofertas);	if ($num_ofertas==0){		echo '<span>Nenhuma oferta encontrada.</span>';	}	else {		$cont=1;		while($dados=mysql_fetch_array($sel_ofertas)){			$ofertas[$cont]='<p><img src="admin/inc/im_ofertas/'.$dados[imagem].'" /></p><p class="prod_desc">'.$dados[desc_oferta].'</p><p class="preco_antigo">De R$ '.$dados[p_antigo].'</p><p class="preco_novo">Por R$ '.$dados[p_novo].' à vista ou</p><p class="preco_novo">'.$dados[parcela].'X de R$ '.$dados[v_parcela].'.</p>';			$cont++;		}		if ($num_ofertas<9){			$controlador=$num_ofertas-1;		}		else {			$controlador=9;		}		for ($i=0;$i<=$controlador;$i++) {			$rand=rand(1,$num_ofertas);			echo '<div id="prod'.$rand.'" class="prod_float">'.$ofertas[$rand].'</div>';		}	}	?>

Desde já, muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então, na verdade não tentei, mais isso não seria apenas para registros repetidos no bd?Não entendo muito bem. Pois o meu caso, não vai ter ofertas repetidas no bd, o que quero evitar, por exemplo, tenho 18 registros, selecionei todos eles, mais desses 18 tenho que exibir 9, a uso o rand() para fazer o sorteio, ai ele sorte primeiro o reigstro 2 depois o 5 e novamenteo o 2, entendeu, não queria que repetisse o registro 2 novamente, pois ja foi sorteado uma vez......

Compartilhar este post


Link para o post
Compartilhar em outros sites

RESOLVIDO!!!

 

Consegui fazendo as segunte sql:

$sel_ofertas=mysql_query("SELECT * FROM ofertas WHERE id ORDER BY RAND() LIMIT 9") or die ("Erro ao selecionar ofertas.");

Desta forma ela retorna 9 resultados como eu queria, de forma aleatória e sem repetir......vlw

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.