666999 0 Denunciar post Postado Abril 29, 2010 Pessoal estou com um erro que esta enchendo o saco http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif tipo tenho uma pagina catalogo quando eu digito catalogo.php?categoria=1 com a linha alterado $sql2 = "SELECT * FROM `produtos` LIMIT $inicio,$quantidade" ; e a linha $sql = "SELECT id, nome, cod, foto, categoria FROM PRODUTOS WHERE categoria = $categoria"; mostra com paginação todos produtos mais eu queria que mostra só os produtos categoria 1 agora se eu mudar $sql = "SELECT * FROM `produtos` LIMIT $inicio,$quantidade" ; e a linha $sql2 = "SELECT id, nome, cod, foto, categoria FROM PRODUTOS WHERE categoria = $categoria"; ele lista os produtos com categoria que eu quero mais paginação nao funfa :( como eu faço para unir em 1 só comando $sql = <?php //inclusão da conexão com banco de dados include "/Config/config_sistema.php"; $categoria = $_GET["categoria"]; $sql = "SELECT id, nome, cod, foto, categoria FROM PRODUTOS WHERE categoria = $categoria"; //A quantidade de valor a ser exibida $coluna = 3; // quantidade coluna $quantidade = 18; //a pagina atual $pagina = (isset($_GET['pagina'])) ? (int)$_GET['pagina'] : 1; //Calcula a pagina de qual valor será exibido $inicio = ($quantidade * $pagina) - $quantidade; $sql2 = "SELECT * FROM `produtos` LIMIT $inicio,$quantidade" ; $qr = mysql_query($sql) or die(mysql_error()); echo "<table width='100%' heigth='400px' border='0' cellspacing='8' cellpadding='8'>"; $conta_coluna = 1; while ($obj = mysql_fetch_object($qr)){ if ($conta_coluna == 1){ echo "<tr>"; } //insira as linhas necessárias é so ter conhecimento basico de html echo "<td align='center' width='33%\'><img src=fotos/". $obj->foto ."> </div> ". $obj->cod ." </div> </div> </div> ". $obj->nome ." </td </td>"; $conta_coluna++; if ($conta_coluna == $coluna+1){ echo "</tr>"; $conta_coluna = 1; } } $sqlTotal = "SELECT id FROM produtos"; //Executa o SQL $qrTotal = mysql_query($sqlTotal) or die(mysql_error()); //Total de Registro na tabela $numTotal = mysql_num_rows($qrTotal); //O calculo do Total de página ser exibido $totalPagina= ceil($numTotal/$quantidade); //link para primeira página echo '<a href="?pagina=1">Primeira Página</a> - '; //loop para mostra a os links da paginação for($i = 1; $i <= $totalPagina; $i++){ if($i == $pagina) echo $i; else echo " <a href=\"?pagina=$i\">$i</a> "; } //link para ultima página echo " - <a href=\"?pagina=$totalPagina\">Última Página</a>"; ?> Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Abril 29, 2010 $sql = "SELECT `id`, `nome`, `cod`, `foto`, `categoria` FROM PRODUTOS WHERE `categoria` = {$categoria} LIMIT {$inicio},{$quantidade}"; Compartilhar este post Link para o post Compartilhar em outros sites
666999 0 Denunciar post Postado Abril 29, 2010 quando digitei catalogo.php?categoria=1 e vou na pagina n 2 apareceu isso Notice: Undefined variable: categoria in C:\Mundo Real\EasyPHP-5.3.2\www\catalogo.php on line 14 Você tem um erro de sintaxe no seu SQL próximo a 'LIMIT 0,18' na linha 1 pelo que percebi o erro talvez seja $categoria = $_GET["categoria"]; olha minha pagina <?php //inclusão da conexão com banco de dados include "/Config/config_sistema.php"; $coluna = 3; // quantidade coluna $quantidade = 18; //a pagina atual $pagina = (isset($_GET['pagina'])) ? (int)$_GET['pagina'] : 1; //Calcula a pagina de qual valor será exibido $inicio = ($quantidade * $pagina) - $quantidade; $categoria = $_GET["categoria"]; $sql = "SELECT `id`, `nome`, `cod`, `foto`, `categoria` FROM PRODUTOS WHERE `categoria` = {$categoria} LIMIT {$inicio},{$quantidade}"; $qr = mysql_query($sql) or die(mysql_error()); echo "<table width='100%' heigth='400px' border='0' cellspacing='8' cellpadding='8'>"; $conta_coluna = 1; while ($obj = mysql_fetch_object($qr)){ if ($conta_coluna == 1){ echo "<tr>"; } //insira as linhas necessárias é so ter conhecimento basico de html echo "<td align='center' width='33%\'><img src=fotos/". $obj->foto ."> </div> ". $obj->cod ." </div> </div> </div> ". $obj->nome ." </td </td>"; $conta_coluna++; if ($conta_coluna == $coluna+1){ echo "</tr>"; $conta_coluna = 1; } } $sqlTotal = "SELECT id FROM produtos"; //Executa o SQL $qrTotal = mysql_query($sqlTotal) or die(mysql_error()); //Total de Registro na tabela $numTotal = mysql_num_rows($qrTotal); //O calculo do Total de página ser exibido $totalPagina= ceil($numTotal/$quantidade); //link para primeira página echo '<a href="?pagina=1">Primeira Página</a> - '; //loop para mostra a os links da paginação for($i = 1; $i <= $totalPagina; $i++){ if($i == $pagina) echo $i; else echo " <a href=\"?pagina=$i\">$i</a> "; } //link para ultima página echo " - <a href=\"?pagina=$totalPagina\">Última Página</a>"; ?> Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Abril 29, 2010 $sql = "SELECT `id`, `nome`, `cod`, `foto`, `categoria` FROM PRODUTOS WHERE `categoria` = {$categoria} LIMIT {$inicio},{$quantidade}"; $categoria = $_GET["categoria"]; é ao contrário, amiguinho: $categoria = $_GET["categoria"]; $sql = "SELECT `id`, `nome`, `cod`, `foto`, `categoria` FROM PRODUTOS WHERE `categoria` = {$categoria} LIMIT {$inicio},{$quantidade}"; Compartilhar este post Link para o post Compartilhar em outros sites
666999 0 Denunciar post Postado Abril 29, 2010 eu mudei para $categoria = $_GET["categoria"]; $sql = "SELECT `id`, `nome`, `cod`, `foto`, `categoria` FROM PRODUTOS WHERE `categoria` = {$categoria} LIMIT {$inicio},{$quantidade}"; a primeira pagina mostra beleza quando vou na pagina numero 2 da erro Notice: Undefined index: categoria in C:\Mundo Real\EasyPHP-5.3.2\www\catalogo.php on line 15 Você tem um erro de sintaxe no seu SQL próximo a 'LIMIT 18,18' na linha 1 estou achando que é o $categoria = $_GET["categoria"]; tem como juntar este $categoria = $_GET["categoria"]; nesse codico? $sql = "SELECT `id`, `nome`, `cod`, `foto`, `categoria` FROM PRODUTOS WHERE `categoria` = {$categoria} LIMIT {$inicio},{$quantidade}"; Compartilhar este post Link para o post Compartilhar em outros sites
ozorio silva 0 Denunciar post Postado Abril 29, 2010 tenta assim $categoria =& $_GET["categoria"]; $sql = ( " SELECT id, nome, cod, foto, categoria FROM PRODUTOS WHERE categoria = '$categoria' LIMIT $inicio,$quantidade "); // la nos links da tua paginação troque isso: // echo " <a href=\"?pagina=$i\">$i</a> "; // por isso assim vai retornar a categoria por get e a proxima pagina dessa categoria echo " <a href=\"catalogo.php?categoria='$categoria'&pagina=$i\">$i</a> "; Compartilhar este post Link para o post Compartilhar em outros sites
666999 0 Denunciar post Postado Abril 30, 2010 consegui vlw ozonio eu coloquei assim echo " <a href=\"catalogo.php?categoria='$categoria'&pagina=$i\">$i</a> "; não funcionou e tirei as aspas echo " <a href=\"catalogo.php?categoria=$categoria&pagina=$i\">$i</a> "; e foi http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif :P Compartilhar este post Link para o post Compartilhar em outros sites