Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #59 da revista programar. Faz já o download aqui!

hapro

Resultados da pesquisa e paginação automática

Mensagens Recomendadas

hapro    2
hapro

Boas,

Queria que me ajudassem aqui num problema. É assim eu não estou a conseguir fazer a paginação depois da pesquisa ou o resultado da pesquisa vem todos os conteúdos.

$busca = (isset($_POST['busca']))? $_POST['busca'] : 1;
$marca = (isset($_POST['marcamarca']))? $_POST['marcamarca'] : 1;
$modelo = (isset($_POST['modelo']))? $_POST['modelo'] : 1;
$p = (isset($_GET['p']))? $_GET['p'] : 1;
$qnt = 1;
$inicio = ($p*$qnt) - $qnt;
$sql = mysql_query("SELECT * FROM motociclos WHERE marca LIKE '%".$busca."%' AND marca LIKE '%".$marca."%' AND modelo LIKE '%".$modelo."%' ORDER BY ID DESC");
$sql_select = "SELECT * FROM motociclos ORDER BY ID DESC LIMIT $inicio, $qnt";
$sql = mysql_query($sql_select);
					
$numRegistros = mysql_num_rows($sql);
						
if ($numRegistros != 0){
	while($linha = mysql_fetch_array($sql)){
		$img = $linha['img'];
		$link = $linha['link'];
		echo '<div class="hoverzoom">';
		echo "<img src=\"../$img\" />";
		echo '<div class="retina">';
		echo "<a href=\"$link\">ASSISIR</a>";
		echo '</div>';
		echo '</div>';
	}
}else{
	echo "Nada encontrado";
}

?>

Obrigado!!


Melhores cumprimentos,

HAPRO

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo    1153
HappyHippyHippo

o que estou a ver no teu código são dois queries à base de dados seguidos ... logo o primeiro é completamente descartado porque estás a guardar o resultado na mesma variável

porque estás a fazer dois queries diferentes ?


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
hapro    2
hapro

eu quero que a pagina faça a paginação automatica e depois na pesquisa tb faça dependendo dos resultados, eu peguei no php a pouco tempo por isso ainda não sei fazer muito bem isto!! obrigado


Melhores cumprimentos,

HAPRO

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter    101
Knitter

A questão é que o código que tens em nada parece que queres fazer paginação, percebo que seja código copiado ou resultado dos testes que tens estado a fazer para resolver o problema mas não nos ajuda a perceber onde tens dúvidas, porque ter dúvidas em fazer paginação é demasiado genérico, e a verdade é que é um problema bem resolvido (o que não faltam são tutoriais e explicações aqui pelo fórum).

Mas para fazer paginação precisas de:

  • Saber e definir o número de registos por página; no teu código definiste a quantidade como 1;
  • Saber em que página estamos e quantas páginas temos no total; no teu caso parece que a página actual é definida pela variável $p mas não colocas essa informação em link nenhum que possa depois ser passada para a segunda execução do script; também não verificas o número de páginas, mesmo que essa informação não seja para apresentar ao utilizador é útil para controlares o que o teu código vai fazer;
  • Apresentar todos os registos obtidos e os links de navegação;

O código ter coisas a mais não nos ajuda a perceber o problema, se a linha com a primeira query não faz nada (está apenas a ser substituída mais abaixo) então comenta-a ou retira-a daí.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
hapro    2
hapro

boas, aquele codigo foi o que encontrei e depois andei a fazer experiencias e assim para ver como funciona, mas agora preciso que ele faça:

Que vá buscar a base de dados tudos os resultados que tem lá e faz a paginação tuda (a quantidade por pagina que tenho em cima é porque tenho poucos dados na base) e depois tenho uma pesquisa com tres inputs e depois o utilizador mete o que quer na pesquisa e faz a pesquisa e mostre os dados que foi buscar pela a pesquisa é isso que não tou a conseguir fazer, o codigo que tenho ali, tá errado porque para ja não sei fazer melhor. se tiverem mais alguma pergunta estão a vontade eu agradeço muito, abraço!!


Melhores cumprimentos,

HAPRO

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
hapro    2
hapro

bom dia,

Eu ainda não consegui resolver o meu problema, eu sei que so pode ser uma query, vou tentar explicar o que pretendo.

O que pretendo é quando entrar nesta página faça a paginação automática de tudos os dados que tenho na base. Depois tenho uma form que tem tres inputs e faz a pesquisa que usuario quer e faça a paginação desse resultado. Eu não tou conseguir "fundir" os dois sistemas, porque independente funcionam muito bem, mas em conjunto não.

Se tiverem mais duvidas como me poder ajudar digam, obrigado

 

Melhores cumprimentos,

HAPRO


Melhores cumprimentos,

HAPRO

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo    1153
HappyHippyHippo
// PHP 7
$busca  = $_POST['busca'] ?? '';
$marca  = $_POST['marcamarca'] ?? '';
$modelo = $_POST['modelo'] ?? '';
$pagina = max($_GET['p'] ?? 1, 1);

$quantidade = 10;
$inicio = ($pagina * $quantidade) - $quantidade;

// olha o "bobby tables" :D
$query = "
    SELECT *
      FROM motociclos
     WHERE marca LIKE '%{$busca}%'
       AND marca LIKE '%{$marca}%'
       AND modelo LIKE '%{$modelo}%'
  ORDER BY ID DESC
     LIMIT {$inicio}, {$quantidade}";

 

Editado por HappyHippyHippo
bugfix

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
hapro    2
hapro

 

12 horas atrás, HappyHippyHippo disse:

// PHP 7
$busca  = $_POST['busca'] ?? '';
$marca  = $_POST['marcamarca'] ?? '';
$modelo = $_POST['modelo'] ?? '';
$pagina = max($_GET['p'] ?? 1, 1);

$quantidade = 10;
$inicio = ($pagina * $quantidade) - $quantidade;

// olha o "bobby tables" :D
$query = "
    SELECT *
      FROM motociclos
     WHERE marca LIKE '%{$busca}%'
       AND marca LIKE '%{$marca}%'
       AND modelo LIKE '%{$modelo}%'
  ORDER BY ID DESC
     LIMIT {$inicio}, {$quantidade}";

 

Muito obrigado!!! 

Era isso mesmo, que nabo foi, tinha tudo bem so que tinha linhas a mais ahah, mas assim é que aprende!!

Com os melhores cumprimentos,

HAPRO


Melhores cumprimentos,

HAPRO

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.