Dodo15 0 Denunciar post Postado Janeiro 6, 2011 Boa noite Desculpa atrapalhar novamente, mas... eu criei um formulario de pesquisa e gostaria de saber como eu poderia fazer uma paginaçao nesse formulario, limitando 10 produtos por pagina... tem como? Os codigos do formulario de pesquisa que criei sao esses: INDEX.PHP <html> <head> <title>Busca</title> </head> <body> <form method="POST" action="busca.php"> <input type="text" name="busca" size="20"> <input type="submit" value="Buscar" name="ok"> </form> </body> </html> --------------------------------------------//----------------------------------------------------------- BUSCA.PHP <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <style> #pai { width:100%; height:auto; } #codigo { width:20%; background:#ccc; float:left; } #descricao { width:40%; background:#ddd;float:left; } #emb { width:10%; background:#ccc; float:left; } #un { width:10%; background:#ddd; float:left; } #preco { width:20%; background:#ccc; float:left; } </style> </head> <body> <?php $host = 'localhost'; $user = 'root'; $pass = ''; $con = mysql_connect($host,$user,$pass); $db = 'busca'; mysql_select_db($db,$con) or print mysql_error(); mysql_select_db("busca"); $criterio = $_POST['busca']; $sql = mysql_query("SELECT * FROM busca WHERE descricao LIKE '%$criterio%'"); $count = mysql_num_rows($sql); ?> <div id="pai"> <?php for($i=0;$i<$count;$i++){ $campo = mysql_fetch_assoc($sql); ?> <div id="codigo"><?php echo $campo['id']; ?></div> <div id="descricao"><?php echo $campo['descricao']; ?></div> <div id="emb"><?php echo $campo['emb']; ?></div> <div id="un"><?php echo $campo['un']; ?></div> <div id="preco">R$<?php echo $campo['preco']; ?></div> <?php } ?> </div> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Nícolas 4 Denunciar post Postado Janeiro 6, 2011 Cara eu particularmente estou de saco cheio de fazer paginação, até ja criei mas não gosto, hoje em dia uso uma classe chamada paginator. Pra mim é perfeita nem tenho como reclamar. Copie o código abaixo e salve em um arquivo: paginator.class.php (exemplo) <?php /* **----------------------------Não Apagar esta Seção ------------------------- ** Paginator ** Paginação de resultados de consulta com PHP e MySQL ** ** Versão 1.6.3 ** ** Nome do arquivo : ** paginatorbr.inc.php ** ** Autor/Tradutor : ** Jorge Pinedo Rosas (Autor) ** Com a colaboração dos usuário do fórum de PHP do www.forosdelweb.com ** Especialmente de dooky que postou a base desse script. ** ** Jonathan Lamim Antunes (Tradutor) ** Profissional de Informática desde 2004, atua na área de desenvolvimento web. ** ** Descrição : ** Retorna o resultado de uma consulta dividido em páginas e uma barra de navegação para as mesmas ** Este script foi escrito com fins didáticos, por isso está todo comentado ** ** Licença : ** GPL com as seguintes extensões: ** *Use-o com o fim que quiser (pessoal ou lucrativo). ** *Se encontrar erros no código, ou melhorá-lo, envie-me um e-mail (lamim.informatica@gmail.com) informando. ** *Este script não possui nenhuma garantia. Os criadores não se responsabilizam pelo mau uso do script ou falhas do ** mesmo. ** **----------------------------------------------------------------------*/ /** * Variáveis que podem ser definidas antes de incluir o script via inlude(): * ------------------------------------------------------------------------ * $_pagi_sql OBRIGATÓRIA. Deve conter uma instrução SQl válida (e sem a cláusula "LIMIT"). * $_pagi_cuantos OPCIONAL. (Inteiro) Número de resultados que queremos obter por página. * Se não for definido um valor, será 20, que é o valor padrão. * $_pagi_nav_num_enlaces OPCIONAL (Inteiro) Quantidade de links(páginas) mostrados na barra de navegação. * Por padrão são mostrados todos. * $_pagi_mostrar_errores OPCIONAL (Booleano) Define se são mostrados ou não os erros de MySQL que venham a surgir. * Por padrão está como "true". * $_pagi_propagar OPCIONAL (Array) Contém os nomes das variáveis que se quer enviar pela URL. * Por padrão são enviadas todas as que já venham pela URL(GET). * $_pagi_conteo_alternativo OPCIONAL(Booleano) Define se os registros são contados pelo PHP com mysql_num_rows()(true) ou pelo * MySQL, com COUNT (*)(false). Por padrão está em "false". * É recomendado que seja mantido com false, a não ser que aconteçam erros de contagem ou resultados * * inesperados. * $_pagi_separador OPCIONAL Símbolo que separa os links numéricos na barra de navegação entre as páginas. Por padrão se utiliza " | ". * $_pagi_nav_estilo OPCIONAL Contém o nome do estilo CSS para os links de paginação da barra de navegação. * Por padrão não se especifica o estilo. * $_pagi_nav_anterior OPCIONAL Contém o que deve aparecer como link para a página anterior. Pode ser uma tag <img>. Por padrão se utiliza "« Anterior". * $_pagi_nav_siguiente OPCIONAL Contém o que deve aparecer como link para a próxima página. Pode ser uma tag <img>. Por padrão se utiliza "Próxima »". * $_pagi_nav_primera OPCIONAL Contém o que deve aparecer como link para a primeira página. Pode ser uma tag <img> Por padrão se utiliza "«« Primeira". * $_pagi_nav_ultima OPCIONAL Contém o que deve aparecer como link para a última página. Pode ser uma tag <img>. Por padrão se utiliza "Última »»". -------------------------------------------------------------------------- */ /* * Verificação dos parâmetros obrigatórios e opcionais *------------------------------------------------------------------------ */ if(empty($_pagi_sql)){ // Se não for definido $_pagi_sql... erro grave! // Este erro é apresentado assim (já que não é um erro de mysql) die("<b>Mensagem de Erro: </b>A variável \$_pagi_sql não foi definida."); } if(empty($_pagi_cuantos)){ // Se não for especificado um valor para a variável // $_pagi_cuantos, o número de registros por página será 20, que é o padrão. $_pagi_cuantos = 20; } if(!isset($_pagi_mostrar_errores)){ // Se não for definido um valor para // $_pagi_errores será por padrão true. (os erros serão apresentados na tela) $_pagi_mostrar_errores = true; } if(!isset($_pagi_conteo_alternativo)){ // Se não for especificado o tipo de contagem de registros // será realizada contagem pelo mysql usando COUNT(*) $_pagi_conteo_alternativo = false; } if(!isset($_pagi_separador)){ // Se não for definido um separador // o separador utilizado será o padrão. $_pagi_separador = " "; } if(isset($_pagi_nav_estilo)){ // Se for definido um estilo para os links, será gerado o atributo "class" para o link $_pagi_nav_estilo_mod = "class=\"$_pagi_nav_estilo\""; }else{ // Se não for definido, será utilizado como vazio. $_pagi_nav_estilo_mod = ""; } if(!isset($_pagi_nav_anterior)){ // Se não for definido um símbolo ou imagem para a opção "Anterior" // Será por padrão o descrito abaixo. $_pagi_nav_anterior = "« Anterior"; } if(!isset($_pagi_nav_siguiente)){ // Se não for definido um símbolo ou imagem para a opção "Próxima" // Será por padrão o descrito abaixo. $_pagi_nav_siguiente = "Próxima »"; } if(!isset($_pagi_nav_primera)){ // Se não for definido um símbolo ou imagem para a opção "Primeira" // Será por padrão o descrito abaixo. $_pagi_nav_primera = "«« Primeira"; } if(!isset($_pagi_nav_ultima)){ // Se não for definido um símbolo ou imagem para a opção "Última" // Será por padrão o descrito abaixo. $_pagi_nav_ultima = "Última »»"; } //------------------------------------------------------------------------ /* * Estabelecimento da página atual *------------------------------------------------------------------------ */ if (empty($_GET['_pagi_pg'])){ // Se não houver sido clicado em nenhuma página específica // Ou seja, se a primeira vez que se executa o script // $_pagi_actual é a página atual-->será por padrão a primeira. $_pagi_actual = 1; }else{ // Se foi pedido uma página específica: // A página atual será a que foi pedida. $_pagi_actual = $_GET['_pagi_pg']; } //------------------------------------------------------------------------ /* * Estabelecendo o número de páginas e o total de registros. *------------------------------------------------------------------------ */ // Contamos o total de registros no BD (para saber quantas páginas serão) // A forma de se fazer essa contagem dependerá da variável $_pagi_conteo_alternativo if($_pagi_conteo_alternativo == false){ $_pagi_sqlConta = eregi_replace("select[[:space:]](.*)[[:space:]]from", "SELECT COUNT(*) FROM", $_pagi_sql); $_pagi_result2 = mysql_query($_pagi_sqlConta); // Se ocorreu erros e foram mostrados, a exibição dos erros está ativada if($_pagi_result2 == false && $_pagi_mostrar_errores == true){ die (" Erro de contagem de registros: $_pagi_sqlConta. Mysql informa: <b>".mysql_error()."</b>"); } $_pagi_totalReg = mysql_result($_pagi_result2,0,0);//total de registros }else{ $_pagi_result3 = mysql_query($_pagi_sql); // Se ocorreu erros e foram mostrados, a exibição dos erros está ativada if($_pagi_result3 == false && $_pagi_mostrar_errores == true){ die (" Erro na contagem alternativa de registros: $_pagi_sql. Mysql informa: <b>".mysql_error()."</b>"); } $_pagi_totalReg = mysql_num_rows($_pagi_result3); } // Calculamos o número de páginas (retornará um decimal) // com ceil() arredondamos e $_pagi_totalPags será o número total (inteiro) de páginas que teremos $_pagi_totalPags = ceil($_pagi_totalReg / $_pagi_cuantos); //------------------------------------------------------------------------ /* * Envio das variáveis pela URL. *------------------------------------------------------------------------ */ // A idéia é passar também nos links as variáveis recebidas pela URL. $_pagi_enlace = $_SERVER['PHP_SELF']; $_pagi_query_string = "?"; if(!isset($_pagi_propagar)){ //Se não foi definido que variáveis serão enviadas, será enviado o $_GET (por compatibilidade com versões anteriores) //Todo menos a variável _pagi_pg if (isset($_GET['_pagi_pg'])) unset($_GET['_pagi_pg']); // Eliminamos essa variável do $_GET $_pagi_propagar = array_keys($_GET); }elseif(!is_array($_pagi_propagar)){ // Se $_pagi_propagar não for um array... erro grave! die("<b>PaginatorBR informa: </b>A variável \$_pagi_propagar deve ser um array"); } // Este foreach foi retirado da Classe Paginado de webstudio // (http://www.forosdelweb.com/showthread.php?t=65528) foreach($_pagi_propagar as $var){ if(isset($GLOBALS[$var])){ // Se a variável é global ao script $_pagi_query_string.= $var."=".$GLOBALS[$var]."&"; }elseif(isset($_REQUEST[$var])){ // Se não é global (ou register globals está em OFF) $_pagi_query_string.= $var."=".$_REQUEST[$var]."&"; } } // Enviamos a isntrução SQl pela URL. $_pagi_enlace .= $_pagi_query_string; //------------------------------------------------------------------------ /* * Geração dos lnks de paginação. *------------------------------------------------------------------------ */ // A variável $_pagi_navegacion conterá os links para as páginas. $_pagi_navegacion_temporal = array(); if ($_pagi_actual != 1){ // Se não estamos na página 1. Colocamos o link "primeira" $_pagi_url = 1; //será o número da página que linkamos $_pagi_navegacion_temporal[] = "<a ".$_pagi_nav_estilo_mod." href='".$_pagi_enlace."_pagi_pg=".$_pagi_url."'>$_pagi_nav_primera</a>"; // Se não estamos na página 1. Colocamos o link "anterior" $_pagi_url = $_pagi_actual - 1; //será o número da página que linkamos $_pagi_navegacion_temporal[] = "<a ".$_pagi_nav_estilo_mod." href='".$_pagi_enlace."_pagi_pg=".$_pagi_url."'>$_pagi_nav_anterior</a>"; } // A variável $_pagi_nav_num_enlaces serve para definir quantos links com // números de páginas serão mostrados. // Obs: sempre será mostrado um número ímpar de links. Mais informações na documentação. if(!isset($_pagi_nav_num_enlaces)){ // Se não foi definida a variável $_pagi_nav_num_enlaces // Serão mostrados todos os números de páginas nos links. $_pagi_nav_desde = 1;//Desde la primera $_pagi_nav_hasta = $_pagi_totalPags;//até a última }else{ // Se foi definida a variável $_pagi_nav_num_enlaces // Calculamos o intervalo para dividir e somar a partir da página atual $_pagi_nav_intervalo = ceil($_pagi_nav_num_enlaces/2) - 1; // Calculamos a partir de que número de página será mostrado $_pagi_nav_desde = $_pagi_actual - $_pagi_nav_intervalo; // Calculamos até que número de página será mostrado $_pagi_nav_hasta = $_pagi_actual + $_pagi_nav_intervalo; // Ajustamos os valores anteriores caso sejam resultados inválidos // Se $_pagi_nav_desde for um número negativo if($_pagi_nav_desde < 1){ // O subtraímos a quantidade restante para manter o número de links que se quer mostrar. $_pagi_nav_hasta -= ($_pagi_nav_desde - 1); // Establecemos $_pagi_nav_desde como 1. $_pagi_nav_desde = 1; } // Se $_pagi_nav_hasta for um número maior que o total de páginas if($_pagi_nav_hasta > $_pagi_totalPags){ // O subtraímos a quantidade excedida ao começao para manter o número de links que se quer mostrar. $_pagi_nav_desde -= ($_pagi_nav_hasta - $_pagi_totalPags); // Establecemos $_pagi_nav_hasta como o total de páginas. $_pagi_nav_hasta = $_pagi_totalPags; // Fazemos o último ajuste verificando que ao enviar $_pagi_nav_desde não haja um valor inválido. if($_pagi_nav_desde < 1){ $_pagi_nav_desde = 1; } } } for ($_pagi_i = $_pagi_nav_desde; $_pagi_i<=$_pagi_nav_hasta; $_pagi_i++){//Da página 1 até a última página ($_pagi_totalPags) if ($_pagi_i == $_pagi_actual) { // Se o número de página é o atual ($_pagi_actual). Escreve-se o número, mas sem link e em negrito. $_pagi_navegacion_temporal[] = "<span ".$_pagi_nav_estilo_mod.">$_pagi_i</span>"; }else{ // Se for qualquer outro. Se escreve o link e o númeor da página. $_pagi_navegacion_temporal[] = "<a ".$_pagi_nav_estilo_mod." href='".$_pagi_enlace."_pagi_pg=".$_pagi_i."'>".$_pagi_i."</a>"; } } if ($_pagi_actual < $_pagi_totalPags){ // Se não estamos na última página. Colocamos o link "Seguinte" $_pagi_url = $_pagi_actual + 1; //será o número da página que linkamos $_pagi_navegacion_temporal[] = "<a ".$_pagi_nav_estilo_mod." href='".$_pagi_enlace."_pagi_pg=".$_pagi_url."'>$_pagi_nav_siguiente</a>"; // Se não estamos na última página. Colocamos o link "Última" $_pagi_url = $_pagi_totalPags; //será o número da página que linkamos $_pagi_navegacion_temporal[] = "<a ".$_pagi_nav_estilo_mod." href='".$_pagi_enlace."_pagi_pg=".$_pagi_url."'>$_pagi_nav_ultima</a>"; } $_pagi_navegacion = implode($_pagi_separador, $_pagi_navegacion_temporal); //------------------------------------------------------------------------ /* * Obtenção dos resgistros que serão mostrados na página atual. *------------------------------------------------------------------------ */ // Calculamos a partir de qué registro será mostrado na página // Lembre que o contatdor começa em ZERO. $_pagi_inicial = ($_pagi_actual-1) * $_pagi_cuantos; // Consulta SQL. Retorna $cantidad registros começando a partir de $_pagi_inicial $_pagi_sqlLim = $_pagi_sql." LIMIT $_pagi_inicial,$_pagi_cuantos"; $_pagi_result = mysql_query($_pagi_sqlLim); // Se ocorreu erro e for mostrado, é porque a exibição de erros está ativada if($_pagi_result == false && $_pagi_mostrar_errores == true){ die ("Erro na consulta: $_pagi_sqlLim. Mysql informa: <b>".mysql_error()."</b>"); } //------------------------------------------------------------------------ /* * Geração da informação sobre os registros mostrados. *------------------------------------------------------------------------ */ // Número do primeiro registro da página atual $_pagi_desde = $_pagi_inicial + 1; // Númeor do último registro da página atual. $_pagi_hasta = $_pagi_inicial + $_pagi_cuantos; if($_pagi_hasta > $_pagi_totalReg){ // Se estivermos na última página // O último registro da página atual será igual ao número de registros. $_pagi_hasta = $_pagi_totalReg; } $_pagi_info = "De $_pagi_desde até $_pagi_hasta de um total de $_pagi_totalReg resultados"; //------------------------------------------------------------------------ /** * Variáveis que ficam disponíveis após incluir o script via include(): * ------------------------------------------------------------------------ * $_pagi_result Identificador do resultado da consulta ao BD para os registros da página atual. Pronto para ser passado por uma função como mysql_fetch_row(), mysql_fetch_array(), mysql_fetch_assoc(), etc. * $_pagi_navegacion Variável que contem a barra de navegação com os links para as páginas de resultados. Exemplo: "<<Primeira | <Anterior | 1 | 2 | 3 | 4 | Próxima> | Última>>". * $_pagi_info Variável que contém informações sobre os registros da página atual. Exemplo: "De 16 até 30 de um total de 123"; */ ?> Dai basta você colocar sua SQL normal na variavel $_pagi_sql $_pagi_sql = "SELECT n.titulo,n.slug,n.post,DATE_FORMAT(n.data, '%d/%m/%Y às %H:%i') as data FROM noticias n"; $_pagi_cuantos = 10; // Itens por página $_pagi_nav_url = "http://www.seusite.com.br/pesquisa/"; // Url da página de resultado de busca // ESTES 5 ÚLTIMOS SÃO VALORES EXTRAS, NÃO PRECISA COLOCA-LOS A MENOS QUE QUEIRA ALTERAR NOME DA ESCRIA OU ADICIONAR ALGUMA CLASS A TAG QUE CONTERÁ A PAGINAÇÃO $_pagi_nav_anterior = "anterior"; // Titulo texto link página anterior $_pagi_nav_siguiente = "próxima"; // Titulo texto link próxima página $_pagi_nav_primera = "primeira"; // Texto link primeira página $_pagi_nav_ultima = "última"; // Texto link última página $_pagi_nav_estilo = "paginacao"; // Classe para estilo css // Aqui incluimos a biblioteca que carregará todos os valores setados acima. include("paginator.class.php"); // While com a variavel especial $_pagi_result while ($resultado = mysql_fetch_assoc($_pagi_result)){ // Aqui vem seu código } // Aqui ele exibe a paginação echo $_pagi_navegacion; Só isso, e a classe faz toda a parte chata por você. :) Compartilhar este post Link para o post Compartilhar em outros sites
Dodo15 0 Denunciar post Postado Janeiro 6, 2011 Da esse erro: Deprecated: Function eregi_replace() is deprecated in /Applications/XAMPP/xamppfiles/htdocs/busca/paginator.class.php on line 207 Error en la consulta de conteo de registros: SELECT COUNT(*) FROM noticias n. Mysql dijo: Table 'busca.noticias' doesn't exist Compartilhar este post Link para o post Compartilhar em outros sites
Nícolas 4 Denunciar post Postado Janeiro 6, 2011 Cara faz o seguinte. Substitua esta linha: $_pagi_sqlConta = eregi_replace("select[[:space:]](.*)[[:space:]]from", "SELECT COUNT(*) FROM", $_pagi_sql); Por essa $_pagi_sqlConta = preg_replace('/select[[:space:]](.*)[[:space:]]from/i', 'SELECT COUNT(*) FROM', $_pagi_sql); Ficando assim: if($_pagi_conteo_alternativo == false){ $_pagi_sqlConta = preg_replace('/select[[:space:]](.*)[[:space:]]from/i', 'SELECT COUNT(*) FROM', $_pagi_sql); $_pagi_result2 = mysql_query($_pagi_sqlConta); // Se ocorreu erros e foram mostrados, a exibição dos erros está ativada Isso já resolve o problema do Deprecated. Agora o outro erro é da sua query. A que você havia postado era esta: SELECT * FROM busca WHERE descricao LIKE '%$criterio%' Na tabela busca E não na tabela noticias como foi o meu exemplo SELECT n.titulo,n.slug,n.post,DATE_FORMAT(n.data, '%d/%m/%Y às %H:%i') as data FROM noticias n Compartilhar este post Link para o post Compartilhar em outros sites
Dodo15 0 Denunciar post Postado Janeiro 6, 2011 Agora nao deu nem um erro, mas em cima da pagina fica a opçao para clicar para ir para a proxima pagina, mas todo o conteudo fica na mesma pagina... Desculpa atrapalhar ae Compartilhar este post Link para o post Compartilhar em outros sites
Nícolas 4 Denunciar post Postado Janeiro 6, 2011 Relaxa, não ta atrapalhando não. Posta seu código ae. Aaa lembrei, o valor que você deve passar no GET é este _pagi_pg Caso você queira utilizar seu próprio nome de variavel no número da pagina atual, basta fazer isso. $_GET["_pagi_pg"] = $_GET["pagina_atual"]; // aqui entra o valor que você está passando na url mostrando a página atual Tudo isso você declara junto das outras $_pagi_sql = "SELECT n.titulo,n.slug,n.post,DATE_FORMAT(n.data, '%d/%m/%Y às %H:%i') as data FROM noticias n"; $_pagi_cuantos = 10; // Itens por página $_pagi_nav_url = "http://www.seusite.com.br/pesquisa.php?pagina_atual="; // Url da página de resultado de busca $_GET["_pagi_pg"] = $_GET["pagina_atual"]; // aqui entra o valor que você está passando na url mostrando a página atual // ESTES 5 ÚLTIMOS SÃO VALORES EXTRAS, NÃO PRECISA COLOCA-LOS A MENOS QUE QUEIRA ALTERAR NOME DA ESCRIA OU ADICIONAR ALGUMA CLASS A TAG QUE CONTERÁ A PAGINAÇÃO $_pagi_nav_anterior = "anterior"; // Titulo texto link página anterior $_pagi_nav_siguiente = "próxima"; // Titulo texto link próxima página $_pagi_nav_primera = "primeira"; // Texto link primeira página $_pagi_nav_ultima = "última"; // Texto link última página $_pagi_nav_estilo = "paginacao"; // Classe para estilo css // Aqui incluimos a biblioteca que carregará todos os valores setados acima. include("paginator.class.php"); // While com a variavel especial $_pagi_result while ($resultado = mysql_fetch_assoc($_pagi_result)){ // Aqui vem seu código } // Aqui ele exibe a paginação echo $_pagi_navegacion; Desculpe os enganos é que fiz algumas personalizações nessa classe para fazer paginação em ajax tb e nem lembro mais o que alterei ^^ Agora deve funcionar. Caso não rode, posta seu código ai. --- EDITANDO Reveja a variavel $_pagi_nav_url é o caminho completo até o número da página Compartilhar este post Link para o post Compartilhar em outros sites
Dodo15 0 Denunciar post Postado Janeiro 6, 2011 Não deu muito certo... Eu estou usando o method POST O codigo que estou usando é esse (codigo editado junto com o arquivo que você me mandou sem o paginator.class.php(ele esta incluido nos meus codigos mas nao no codigo abaixo)) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <style> body{ min-width:1000px; } #pai { width:100%; height:auto; text-align: center; } #codigo { width:15%; background:#ccc; float:left; } #descricao { width:45%; background:#ddd;float:left; } #emb { width:10%; background:#ccc; float:left; } #un { width:10%; background:#ddd; float:left; } #preco { width:20%; background:#ccc; float:left; } </style> </head> <body> <?php $host = 'localhost'; $user = 'root'; $pass = ''; $con = mysql_connect($host,$user,$pass); $db = 'busca'; mysql_select_db($db,$con) or print mysql_error(); mysql_select_db("busca"); $criterio = $_POST['busca']; $sql = mysql_query("SELECT * FROM busca WHERE descricao LIKE '%$criterio%'"); $count = mysql_num_rows($sql); $_pagi_sql = "SELECT * FROM busca WHERE descricao LIKE '%$criterio%'"; $_pagi_cuantos = 10; // Itens por página $_pagi_nav_url = "http://localhost/busca/busca.php"; // Url da página de resultado de busca // ESTES 5 ÚLTIMOS SÃO VALORES EXTRAS, NÃO PRECISA COLOCA-LOS A MENOS QUE QUEIRA ALTERAR NOME DA ESCRIA OU ADICIONAR ALGUMA CLASS A TAG QUE CONTERÁ A PAGINAÇÃO $_pagi_nav_anterior = "anterior"; // Titulo texto link página anterior $_pagi_nav_siguiente = "próxima"; // Titulo texto link próxima página $_pagi_nav_primera = "primeira"; // Texto link primeira página $_pagi_nav_ultima = "última"; // Texto link última página $_pagi_nav_estilo = "paginacao"; // Classe para estilo css // Aqui incluimos a biblioteca que carregará todos os valores setados acima. include("paginator.class.php"); // While com a variavel especial $_pagi_result while ($resultado = mysql_fetch_assoc($_pagi_result)){ // Aqui vem seu código } $_GET["_pagi_pg"] = $_GET["pagina_atual"]; // aqui entra o valor que você está passando na url mostrando a página atual // Aqui ele exibe a paginação echo $_pagi_navegacion; ?> <div id="pai"> <?php for($i=0;$i<$count;$i++){ $campo = mysql_fetch_assoc($sql); ?> <div id="codigo"><?php echo $campo['id']; ?></div> <div id="descricao"><?php echo $campo['descricao']; ?></div> <div id="emb"><?php echo $campo['emb']; ?></div> <div id="un"><?php echo $campo['un']; ?></div> <div id="preco">R$<?php echo $campo['preco']; ?></div> <?php } ?> </div> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Nícolas 4 Denunciar post Postado Janeiro 6, 2011 Cara faz o seguinte: Zera tudo que falei no último post, hehehe Como falei estava usando uma versão editada por mim do paginator. Essa variavel $_pagi_nav_url foi criada por mim por conta das minhas url's amigaveis. O site oficial do script está fora do ar, mas nesse link tem meio que um passo a passo de como inclui-lo no seu site http://www.rogeralmeida.com.br/index.php?d=programacao_e_bd&a=ver&cod=3 Copia novamente o código da classe (eu coloquei a versão sem minhas modificações). Agora vendo seu código, tenta assim: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <style> body{ min-width:1000px; } #pai { width:100%; height:auto; text-align: center; } #codigo { width:15%; background:#ccc; float:left; } #descricao { width:45%; background:#ddd;float:left; } #emb { width:10%; background:#ccc; float:left; } #un { width:10%; background:#ddd; float:left; } #preco { width:20%; background:#ccc; float:left; } </style> </head> <body> <?php $host = 'localhost'; $user = 'root'; $pass = ''; $con = mysql_connect($host,$user,$pass); $db = 'busca'; mysql_select_db($db,$con) or print mysql_error(); mysql_select_db("busca"); $criterio = $_POST['busca']; $_pagi_sql = "SELECT * FROM busca WHERE descricao LIKE '%$criterio%'"; $_pagi_cuantos = 10; // Itens por página // ESTES 5 ÚLTIMOS SÃO VALORES EXTRAS, NÃO PRECISA COLOCA-LOS A MENOS QUE QUEIRA ALTERAR NOME DA ESCRITA OU ADICIONAR ALGUMA CLASS A TAG QUE CONTERÁ A PAGINAÇÃO $_pagi_nav_anterior = "anterior"; // Titulo texto link página anterior $_pagi_nav_siguiente = "próxima"; // Titulo texto link próxima página $_pagi_nav_primera = "primeira"; // Texto link primeira página $_pagi_nav_ultima = "última"; // Texto link última página $_pagi_nav_estilo = "paginacao"; // Classe para estilo css // Aqui incluimos a biblioteca que carregará todos os valores setados acima. include("paginator.class.php"); // While com a variavel especial $_pagi_result while ($campo = mysql_fetch_assoc($_pagi_result)){ ?> <div id="codigo"><?php echo $campo['id']; ?></div> <div id="descricao"><?php echo $campo['descricao']; ?></div> <div id="emb"><?php echo $campo['emb']; ?></div> <div id="un"><?php echo $campo['un']; ?></div> <div id="preco">R$<?php echo $campo['preco']; ?></div> <?php } // Aqui ele exibe a paginação echo $_pagi_navegacion; ?> </body> </html> Como disse. NÃO ESQUEÇA DE COPIAR E COLAR O CÓDIGO NOVO DO PAGINATOR QUE ADICIONEI NO 1º POST Compartilhar este post Link para o post Compartilhar em outros sites
Dodo15 0 Denunciar post Postado Janeiro 6, 2011 DEU CERTO!! Brigadão mesmo! --- Ultima duvida... nao sei c da, mas... os acentos nao estao funcionando tem como resolver isso? Compartilhar este post Link para o post Compartilhar em outros sites
Nícolas 4 Denunciar post Postado Janeiro 6, 2011 Da uma olhada neste post meu: http://forum.imasters.com.br/index.php?/topic/419389-iso-8859-1-ou-utf-8/page__view__findpost__p__1652804 Veja também os links abaixo: utf8_encode utf8_decode Acredito que isso ja deve ajudar. Abraço Compartilhar este post Link para o post Compartilhar em outros sites