Jump to content

Recommended Posts

Posted

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

Posted

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

Posted

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í.

Posted

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

Posted

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

Posted (edited)
// 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}";
Edited by HappyHippyHippo
bugfix
IRC : sim, é algo que ainda existe >> #p@p
Posted
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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.