Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

666999

[Resolvido] erro no comando $sql =

Recommended Posts

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
$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

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

$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

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


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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.