Jump to content
Fórum Script Brasil
  • 0

Imagens No Php, Ajuda


andre mata
 Share

Question

ola boa noite, estou fazendo um site de revenda de veiculos e preciso colocar na paginal principal veiculos em destaques.Mas tenho mais de 250 veiculos em destaque e na pagina só cabe 25 por vez, como faço para mostrar todos contando de 25 em 25 dando refresh na página.cada refresh mostra 25 e assim aleatóriamente acabnado no 250 e voltando no 1.desde já agradeço.

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Se a sua idéia é mostrar aletatoriamente você pode usar ORDER BY RAND(), assim ele vai sortear os resultados e os veículos vão vir aleatoriamente, mas isso vai trazer resultados repetidos... pois é sorteio, você pode utilizar sessões para guardar o que já foi sorteados e assim evitar mostrar repetidos... eu postei a um tempo atrás um exemplo de sorteio aleatório em que se evitava repetições... procure entre os meus posts sobre isso...

Link to comment
Share on other sites

  • 0

creio que para evitar a repeticao dos sorteios poderia utilizar outra forma, sugiro o seguinte:

coloque as urls dos links das imagens num campo em uma tabela. Crie outro campo na tabela, um campo do tipo logico (true or false). Voce tem 250 imagens, certo? Então terá 250 registros com as respectivas urls das imagens.

Então ao selecionar os registros voce dará a seguinte instrucao sql:

$sql = "Select * from TabelaImagens where ImagemExibida = false limit 0,24";

Em seguida voce dá um update na tabela para alterar a condicao false para true das imagens que foram exibidas, assim:

$sql = "update TabelaImagens set ImagemExibida = true where ImagemExibida = false limit 0,24;

Então quando a página for acessada novamente, repetirá a primeira instrucao sql acima que pegará outras 25 imagens que contem a condicao false.

Então quando todas forem exibidas logicamente todas as imagens estarão com o campo logico ImagemExibida com a condição false. Então aqui, agora que já entendeu o esquema, na realidade após a primeira instrucao sql acima (quando voce seleciona as 25 imagens) voce deverá inserir o seguinte codigo:

if(mysql_num_rows($Res) == 0){ // não encontrou nenhum registro com a condicao false, pois todas as imagens já foram exibidas

$sql = "update TabelaImagens set ImagemExibida = false"; // altera todas as imagens voltam a ter condicao false novamente.

$sql = "Select * from TabelaImagens where ImagemExibida = false limit 0,24";//necessário selecionar novamente.

}

Bem, resumindo, o codigo completo em ordem ficaria assim:

$sql = "Select * from TabelaImagens where ImagemExibida = false limit 0,24";

$Res = mysql_db_query("$BaseDados", "$sql", $conex);

if(mysql_num_rows($Res) == 0){

sql = "update TabelaImagens set ImagemExibida = false";

$Res = mysql_db_query("$BaseDados", "$sql", $conex);

$sql = "Select * from TabelaImagens where ImagemExibida = false limit 0,24";

$Res = mysql_db_query("$BaseDados", "$sql", $conex);

}

$sql = "update TabelaImagens set ImagemExibida = true where ImagemExibida = false limit 0,24";

$Res = mysql_db_query("$BaseDados", "$sql", $conex);

Talvez no codigo acima exista algum erro de sintaxe, mas o importante é a idéia que lhe passei...

Eu já utilizei isto, não é 100% funcional, porque existe aquela historia do usuario fechar o navegador antes da página ser executada, e outros problemas semelhantes.

Espero ter ajudado...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...