Ir para conteúdo
Fórum Script Brasil
  • 0

Avançar e Recuar numa lista parcial de produtos


Frank K Hosaka

Pergunta

O código que segue é pura gambiarra. Eu tenho um pedido de compra que tem 300 produtos. Eu acho uma besteira colocar todos os produtos na tela do celular, ainda mais que eu ainda não sei separar o mundo do servidor e o mundo do cliente.

Então eu decidi limitar apenas 15 produtos, o tempo de resposta ficou bem melhor.

Para avançar 15 produtos de cada vez, isso foi fácil. O útimo item da lista eu chamei de indicador.

O problema é quando o usuário quiser voltar na página anterior.

A solução que eu encontrei é bem besta, mas funciona. Eu uso o mesmo indicador, mas peço para o MySQL fazer uma nova consulta baseado no indicador, fazendo uma lista decrescente de produtos. Peço para o PHP contar 29 registros, e utilizar o vigésimo nono como o novo indicador. A solução é bem besta, mas eu não tenho a menor ideia de como ir até o 29o. registro sem ser contando na unha.

A seguir a listagem da minha gambiarra:

 

astudy2.php
--------------

<script>
function voltar(indicador) {inpg.name="voltar";inpg.value=indicador;frmg.submit()}
function avancar(indicador) {inpg.name="avancar";inpg.value=indicador;frmg.submit()}
function topo() {inpg.name="topo";frmg.submit()}
</script>
<form id=frmg method=post><input id=inpg type=hidden></form>
<?php
$mysqli=new mysqli("localhost","root","","diario");
if (isset($_POST['topo'])){$codp=24007;$indicador="";}
if (isset($_POST['avancar'])){$codp=24007;$indicador=$_POST['avancar'];} else {$codp=24007;$indicador="";}
if (isset($_POST['voltar'])){
	$codp=24007;
	$indicador=$_POST['voltar'];
	$query=$mysqli->query("select * from vw_compra where codp=$codp and prod<='$indicador' order by prod desc");
	for ($i=1;$i<=29;$i++) {$row=$query->fetch_assoc();}
	$indicador=$row['prod']; }
$query=$mysqli->query("select * from vw_compra where codp=$codp and prod>='$indicador' order by prod limit 15");
echo "<table><tr><th><a onclick=voltar(compradiv.innerHTML)>Codigo ^</a><th><a onclick=avancar(compradiv.innerHTML)>Descriçaõ v</a>";
while ($row=$query->fetch_assoc()) {
	$codprod = $row['codprod'];
	$prod = $row['prod'];
	echo "<tr><td>$codprod<td>$prod";}
echo "<tr><td><td><b><a onclick=topo()>Ir para o topo</a></table>";
echo "<br>Indicador atual:<div id=compradiv>$prod</div>";

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...