Ir para conteúdo

POWERED BY:

Arquivado

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

Gutoo

[Resolvido] Registros Aleatórios

Recommended Posts

Olá pessoal,

Se puderem me ajudar... será demais =D.

 

É o seguinte....

 

Eu preciso fazer com que o sistema exiba 10 registros diferentes de acordo com o modelo abaixo, mas sem fazer paginação, pois as tabelas estão em medidas diferentes e não da pra paginar.

 

Existe um modelo SQL que faça isso pra mim, sem repetir nenhum registro?

O sistema ta em ASP com MySQL.

Segue a imagem modelo, para verem que não da pra paginar.

 

Imagem Postada

 

Agradeço se alguém tiver alguma idéia.

 

Valewww

Gutoo

Compartilhar este post


Link para o post
Compartilhar em outros sites

e como voce ira organizar esse layout?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A minha idéias é fazer somente 1 SQL pra eles.

 

ai eu iria atribuir o <%=rsHome("foto")%> em cada imagem.

Por isso que eu precisaria que ele não repetisse nenhuma imagem.

 

Mesmo eu usando o RAND com o Limit ele repete os registros.

 

Guto

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas repete entre esses 10 que aparecem? ou repete caso voce clique em algum outro link como se fosse uma paginação?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O lance é

Essas fotos são da Home de um site...

Onde cada vez q alguém acessar o site essas fotos mudariam.

 

Só o que está acontecendo é que ao invés de exibir um de cada pessoa, ele acaba mostrando a mesma pessoa em algum lugar.

 

Ele puxaria de uma banco onde teriam em média de 100 cadastrados, e ele deveria puxar aleatoriamente os 10 do banco sem repetir naquela hora, se ele quiser exibir o mesmos qd a pagina atualizar, sem problemas.... ele só não pode repetir um mesmo cadastrado qd exibir para o visitante.

 

Só que la não exite paginação ou repetição de linhas com While... são imagens fixas onde somente são alterados as 10 imgs ao mesmo tempo.

 

Veja como ta a tabela, por isso não posso fazer uma repetição de linhas....

 

<table width="100%" border="0" cellspacing="0" cellpadding="0">
				   <tr>
					 <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
					   <tr>
						 <td align="center" style="padding-bottom:35px;"><img src="imagens/<%=rsHome("foto")%>" width="79" height="97" /></td>
					   </tr>
					   <tr>
						 <td align="center" style="padding-bottom:27px;"><img src="imagens/<%=rsHome("foto")%>" width="79" height="96" /></td>
					   </tr>
					   <tr>
						 <td align="center"><img src="imagens/<%=rsHome("foto")%>" width="79" height="96" /></td>
					   </tr>
					 </table></td>
					 <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
					   <tr>
						 <td align="center" style="padding-bottom:37px;"><img src="imagens/<%=rsHome("foto")%>" width="80" height="97" /></td>
					   </tr>
					   <tr>
						 <td align="center"><img src="imagens/<%=rsHome("foto")%>" width="80" height="97" /></td>
					   </tr>
					 </table></td>
					 <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
					   <tr>
						 <td align="center" style="padding-bottom:35px;"><img src="imagens/<%=rsHome("foto")%>" width="80" height="97" /></td>
					   </tr>
					   <tr>
						 <td align="center" style="padding-bottom:27px;"><img src="imagens/<%=rsHome("foto")%>" width="80" height="96" /></td>
					   </tr>
					   <tr>
						 <td align="center"><img src="imagens/<%=rsHome("foto")%>" width="79" height="96" /></td>
					   </tr>
					 </table></td>
					 <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
					   <tr>
						 <td align="center" style="padding-bottom:37px;"><img src="imagens/<%=rsHome("foto")%>" width="80" height="97" /></td>
					   </tr>
					   <tr>
						 <td align="center"><img src="imagens/<%=rsHome("foto")%>" width="80" height="97" /></td>
					   </tr>
					 </table></td>
				   </tr>
				   
				 </table>

Valewww

 

Guto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me ajudem aeeeee

To precisando saber isso =(

 

Valew

Guto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz com laço de repetição e melhora esse trecho, usar tabelas nesse caso é contra as WebStandarts.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gutoo, dica, revise suas postagens para não ser moderado de acordo com as regras, e é só fazer como o Salgado disse, sem mais!

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza.

Vo dar uma olhada nisso do laço de repetição.

Valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se puderem me dar uma idéia de um laço para fazer isso:

 

Fiz esse modelo:

 

x = 0

while (x<11)

SQL = "SELECT * FROM tab_palestrantes ORDER BY RAND()"

x = x+1

wend

 

E mesmo assim quando coloco na web as imagens não se alternam =/

 

Me ajudem...

 

Valeww

Gutoo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria melhor você mandar listar 11 registros... uma única consulta mesmo, ao invés de executar várias vezes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim... só que o meu problema é fazer o While na tabela.

Pois cada célula tem uma altura e espaçamento diferente, por isso queria que o SQL selecionasse sem repetir os 10 registros.

Assim eu faço um request único como está no post anterior.

 

Valeww

Compartilhar este post


Link para o post
Compartilhar em outros sites

com funciona estes teus selects?

 

digo a ordem em que são feitos?

 

se nao tem como mudar nada ai pelo menos de um jeito de ir armazenando o que foi selecionado e ir excluindo nos proximos selects usando o NOT IN

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então...

O código é como está ali.

 

É só um select que irá acontecer....

Depois nas imagens eu faço a chamada como está na imagem ae...

Só que qd eu chamo as imagens, pelo fato de eu não fazer nenhuma While, todas as imagens acabam se repetindo.

 

Eu queria alguma coisa que o SELECT ocorrece e eu pudesse colocar o <img src="imagens/<%=rsHome("foto")%>" width="80" height="97" /> nas 10 células e com isso nada fosse repetido.

 

Não tem muito o que mostrar no SELECT, pois não deu certo nada ...rsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

O select voce pode colocar o newid()

 

Exemplo:

SELECT TOP 10 foto

FROM TBL_FOTOS

ORDER BY NEW ID()

 

crie um recordSet que vai receber os registros e movimente ele para frente.

Quando voce fechar a tag <tr> insira <%recordSet.MoveNext%> assim voce passa para o proximo registro ou foto.Inserindo fotos diferentes.

 

Mas o que voce esta querendo é bem mais facil fazer com for ou while e repetir as tags de coluna e linha ficando um codigo mais limpo.

caso voce queira fazer assim da um toque mas como eu te falei a cima acho que vai dar certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

entendi

 

Olha cara vou lhe pedir para ver se este teste resolve

 

Voce me diz que selecionou todas as imagens entao apenas escreva-as

 

No lugar de

 

<img src="imagens/<%=rsHome("foto")%>" width="79" height="97" />

Troque para

 

<% IF NOT rsHome.EOF THEN %>
<img src="imagens/<%=rsHome("foto")%>" width="79" height="97" />
<%rsHome.MoveNext
ELSE %>
 
<% END IF%>

Troque em todas as ocorrencias e teste

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigos,

Consegui fazer o que eu precisava... rsrs

Era uma coisa bem simples... achei na net um código e funcionou legal aqui.

 

<%If RS.Eof Then 'Se n]ao houverem produtos cadastrados
Response.Write "Não há produtos cadastrados"
Else 'Se houverem produtos cadastrados
Do While Not RS.Eof %>
<tr>
<td width="100"><%=RS("titulo")%></td><% RS.MoveNext %><% If RS.EOF Then Exit Do %>
<td width="100"><%=RS("titulo")%></td><% RS.MoveNext %><% If RS.EOF Then Exit Do %>
<td width="100"><%=RS("titulo")%></td><% RS.MoveNext %><% If RS.EOF Then Exit Do %>
</tr>
<% Loop
End If %>

Assim eu consegui fazer com que ele deixasse do jeito que eu queria.

 

Agradeço o esforço de todos.

 

Abraçooo

Guto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais ou menos o que postei no post anterior

 

O uso do movenext

 

O importante é que resolveu

 

Parabens

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.