Ir para conteúdo

Arquivado

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

Juinior Oliveira

[Resolvido] COMO COLOCAR LIKE % NO PDO

Recommended Posts

Ola pessoal boa noite..

estou começando na programação pdo e estou com alguns problemas em colocar LIKE % para fazer a busca em meu sistema da loja 

 este é o código do meu sistema

<?php
	header('Access-Control-Allow-Origin: *');
	require_once('../../includes/funcoes.php');
	require_once('../../database/config.database.php');
	require_once('../../database/config.php');
	$id = get('id');
	if (ModoManutencao()) { header("Location: ../manutencao.php"); }

	$QueryCat = DBRead('c_produtos','*',"WHERE id = '{$id}'"); if (is_array($QueryCat)) { foreach ($QueryCat as $c_dados) {
		$p  		 		 = $c_dados['paginacao'];
		$cor_titulo 		 = $c_dados['cor_titulo'];
		$cor_conteudo	 	 = $c_dados['cor_conteudo'];
		$background	 		 = $c_dados['background'];
		$foto 				 = $c_dados['foto'];
	} }

	if ($id != '0') {
		$QueryNum = DBCount('produtos','*',"WHERE status = 'S' AND id_categoria = '{$id}' ORDER BY id DESC");
	} else {
		$QueryNum = DBCount('produtos','*',"WHERE status = 'S' ORDER BY id DESC");
	}

	$pag = (isset($_GET['pag']))? $_GET['pag'] : 1;
    $registros = $p;
    $numPaginas = ceil($QueryNum/$registros);
    $inicio = ($registros*$pag)-$registros;
	if ($id != '0') {
		$Query = DBRead('produtos','*',"WHERE status = 'S' AND id_categoria = '{$id}' ORDER BY id DESC LIMIT {$inicio}, {$registros}");
	} else {
		$Query = DBRead('produtos','*',"WHERE status = 'S' ORDER BY id DESC LIMIT {$inicio}, {$registros}");
	}
?>

 

 Seria aqui em colocar o LIKE % 

Porem esta e a minha duvida também se seria apenas aqui em colocar este LIKE % ou teria que colocar em todos eles

	if ($id != '0') {
		$QueryNum = DBCount('produtos','*',"WHERE status = 'S' AND id_categoria = '{$id}' ORDER BY id DESC");
	} else {
		$QueryNum = DBCount('produtos','*',"WHERE status = 'S' ORDER BY id DESC");
	}

 

Pois no antigo MSQLI fiz e funciona normal, mais como fiz umas mudanças na minha loja quero usar os mesmo código como esta ai em cima

  Este é o LIKE % que usava no MSQLI

<?php

$host = 'localhost';
$user = 'root';
$pass = '';
$db   = 'loja_moveis';

$bsc = $_POST['bsc'];
$con = mysqlI_connect($host, $user, $pass, $db);
$sql = "SELECT* FROM produtos WHERE prod_nome LIKE '%$bsc%' OR prod_valor LIKE '%$bsc%' OR prod_categoria LIKE '%$bsc%' OR prod_marca LIKE '%$bsc%' order by prod_nome LIMIT 100";
$res = mysqli_query($con, $sql);
while ($dados = mysqli_fetch_array($res)) {

?>

Quero usar mais o menos como este aqui

$sql = "SELECT* FROM produtos WHERE prod_nome LIKE '%$bsc%' OR prod_valor LIKE '%$bsc%' OR prod_categoria LIKE '%$bsc%' OR prod_marca LIKE '%$bsc%' order by prod_nome LIMIT 100";

               

Se puderem me dizer de como fazer isso la no código fico grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ué !

Não entendi sua dúvida !

A query em si não tem diferença alguma, o comando SQL pertence ao banco de dados, não ao mysqli ou pdo !

Você vai utilizar a mesma query, só que ele vai pedir a conexão do banco com sua estrutura em PDO. Não sei se estará usando orientação a objetos ou não, mas vou te mandar um exemplo, a execução não muda muito de um pro outro. (desculpe, eu não sei usar PHP estruturado)

<?php
class banco { // Vamos usar essa conexão de banco de dados como exemplo !
  private static $conecta;

  public static function principal(){
    if(!isset(self::$conecta)){
      self::$conecta = new PDO('mysql:host=localhost;dbname=banco', 'usuario', '', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
      self::$conecta->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      self::$conecta->setAttribute(PDO::ATTR_ORACLE_NULLS, PDO::NULL_EMPTY_STRING);
    }
    return self::$conecta;
  }
}

class teste { // Essa é nossa class de teste
  public function execucaoPDO($variavel){ // Essa será nossa função de teste usando o PDO
    try { // Utilizo sempre o bloco try para não trazer erro, muito bom pra quem usa retornos em json, fik a dik!
      $stmt = banco::principal()->prepare('SELECT produto.nome FROM produto WHERE produto.nome LIKE ?'); // Nesse momento eu defini que a variável $stmt irá receber a conexão com o banco, e dará um prepare no comando SQL
      $stmt->bindValue(1, $variavel.'%', PDO::PARAM_STR); // Aqui eu substitui a primeira interrogação do comando SQL por uma variável, e concatenei com o "%" para poder ser dado o LIKE
      $stmt->execute(); // Aqui executei o código (detalhe que aqui é o local onde o PDO retorna erro, caso tenha ocorrido algo de errado na query ou execução em sí, então sempre que houver erro no execute, verifique todo o código que faz parte dele)
      return $stmt->fetchAll(PDO::FETCH_CLASS); // Aqui eu chamei todos os retornos do banco de dados, defini que eles seriam chamados como objetos e não arrays (Serão acessados da seguinte forma: $stmt->nome, não do formato mais comum: $stmt['nome']), e retornei eles como fim da execução desse método
      catch(PDOException $e){ // Aqui será atribuido os erros de sql para a variável "$e", assim ficará guardado e não retornará mensagens para o página HTML
        return $e; // Agora sim ele retornará o erro para a página HTML! haha'
      }
    }
  }

$variavel = new teste; // Instanciei a class teste para me dar acesso aos métodos
var_dump($variavel->execucaoPDO('jeans')); // Executei o método e defini que a string "jeans" seria o seu parâmetro (ou seja, a busca estaria buscando por jeans)

Eu digitei o comando sem testar, pode ser que tenha erros, então só use como base pra estudar, não tome ele como padrão !

Bons estudos e boa noite !

Compartilhar este post


Link para o post
Compartilhar em outros sites

@William Barreto Bom dia 

 

Bom minha estrutura de conexão esta assim

 

esta é o config.php

<?php
	//Configurações do Banco
	define('DB_HOSTNAME', 'localhost');
	define('DB_USERNAME', 'root');
	define('DB_PASSWORD', '');
	define('DB_DATABASE', 'loja_moveis');
	define('DB_PREFIX'	, '');
	define('DB_CHARSET'	, 'utf8');
?>

esta outra é a configuracao.database.php eu montei assim com msqli como eu vim em um video 

ele funciona perfeitamente 

	//Ler Dados do Banco
	function DBRead($tabela, $campos = '*', $parametros = null){
		if (DB_PREFIX != '') { $tabela = DB_PREFIX.'_'.$tabela; }
		$parametros = ($parametros) ? " {$parametros}" : null;
		$query = "SELECT {$campos} FROM {$tabela}{$parametros}";
		$sql = DBExecute($query);
		if(!mysqli_num_rows($sql)) {
			return false;
		} else {
			while ($res = mysqli_fetch_assoc($sql)){
				$dados[] = $res;
			}
			return $dados;
		}
	}

Mais se eu for usar por ele na caixa de busca e for pesquisar por alguma palavra 

por ex:

Cama Box

Cama Solteiro

Cama Casal

Cama de Madeira

 

Se eu buscar por "CAMA BOX" aparece toda as listagem que esta ele não traz a palavra digitada  que seria cama box. entende?

 se no banco estiver assim

Cama Box

Cama Solteiro

Cama Casal

Cama de Madeira

Roupeiro

Mesa

Rack

 

e eu fazer a busca "CAMA BOX" aparece toda esta lista ai que esta no banco

quero que ele me traga apenas as palavra que forem digitada se não ouver nada referente o que foi digitada ele mostra uma msg

     Nenhum registo foi encontrado

 

entendeu??

Compartilhar este post


Link para o post
Compartilhar em outros sites

E o que você desenvolveu em PDO até agora?

Compartilhar este post


Link para o post
Compartilhar em outros sites
16 horas atrás, Juinior Oliveira disse:

Ola pessoal boa noite..

estou começando na programação pdo e estou com alguns problemas em colocar LIKE % para fazer a busca em meu sistema da loja 

 este é o código do meu sistema


<?php
	header('Access-Control-Allow-Origin: *');
	require_once('../../includes/funcoes.php');
	require_once('../../database/config.database.php');
	require_once('../../database/config.php');
	$id = get('id');
	if (ModoManutencao()) { header("Location: ../manutencao.php"); }

	$QueryCat = DBRead('c_produtos','*',"WHERE id = '{$id}'"); if (is_array($QueryCat)) { foreach ($QueryCat as $c_dados) {
		$p  		 		 = $c_dados['paginacao'];
		$cor_titulo 		 = $c_dados['cor_titulo'];
		$cor_conteudo	 	 = $c_dados['cor_conteudo'];
		$background	 		 = $c_dados['background'];
		$foto 				 = $c_dados['foto'];
	} }

	if ($id != '0') {
		$QueryNum = DBCount('produtos','*',"WHERE status = 'S' AND id_categoria = '{$id}' ORDER BY id DESC");
	} else {
		$QueryNum = DBCount('produtos','*',"WHERE status = 'S' ORDER BY id DESC");
	}

	$pag = (isset($_GET['pag']))? $_GET['pag'] : 1;
    $registros = $p;
    $numPaginas = ceil($QueryNum/$registros);
    $inicio = ($registros*$pag)-$registros;
	if ($id != '0') {
		$Query = DBRead('produtos','*',"WHERE status = 'S' AND id_categoria = '{$id}' ORDER BY id DESC LIMIT {$inicio}, {$registros}");
	} else {
		$Query = DBRead('produtos','*',"WHERE status = 'S' ORDER BY id DESC LIMIT {$inicio}, {$registros}");
	}
?>

 

 Seria aqui em colocar o LIKE % 

Porem esta e a minha duvida também se seria apenas aqui em colocar este LIKE % ou teria que colocar em todos eles


	if ($id != '0') {
		$QueryNum = DBCount('produtos','*',"WHERE status = 'S' AND id_categoria = '{$id}' ORDER BY id DESC");
	} else {
		$QueryNum = DBCount('produtos','*',"WHERE status = 'S' ORDER BY id DESC");
	}

 

Pois no antigo MSQLI fiz e funciona normal, mais como fiz umas mudanças na minha loja quero usar os mesmo código como esta ai em cima

  Este é o LIKE % que usava no MSQLI


<?php

$host = 'localhost';
$user = 'root';
$pass = '';
$db   = 'loja_moveis';

$bsc = $_POST['bsc'];
$con = mysqlI_connect($host, $user, $pass, $db);
$sql = "SELECT* FROM produtos WHERE prod_nome LIKE '%$bsc%' OR prod_valor LIKE '%$bsc%' OR prod_categoria LIKE '%$bsc%' OR prod_marca LIKE '%$bsc%' order by prod_nome LIMIT 100";
$res = mysqli_query($con, $sql);
while ($dados = mysqli_fetch_array($res)) {

?>

Quero usar mais o menos como este aqui


$sql = "SELECT* FROM produtos WHERE prod_nome LIKE '%$bsc%' OR prod_valor LIKE '%$bsc%' OR prod_categoria LIKE '%$bsc%' OR prod_marca LIKE '%$bsc%' order by prod_nome LIMIT 100";

               

Se puderem me dizer de como fazer isso la no código fico grato

 

Amigo Junior

 

Troque essa linha:

$sql = "SELECT* FROM produtos WHERE prod_nome LIKE '%$bsc%' OR prod_valor LIKE '%$bsc%' OR prod_categoria LIKE '%$bsc%' OR prod_marca LIKE '%$bsc%' order by prod_nome LIMIT 100";

 

por essa:

$sql = "SELECT* FROM produtos WHERE prod_nome LIKE '%".$bsc."%' OR 
                                    prod_valor LIKE '%".$bsc."%' OR 
                                    prod_categoria LIKE '%".$bsc."%' OR 
                                    prod_marca LIKE '%".$bsc."%' 
               order by prod_nome LIMIT 100";

 

Observação: os LIKE devem está assim: LIKE '%" . algo . "%'

 

Espero ter ajudado.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola, desculpe a demora !

Mas ainda não entendi o que você espera como resposta, @Juinior Oliveira ...

Você quer que seja PDO ou mysqli ?

Não sei se entendeu errado o que é PDO, mas vou te explicar ...

PDO é uma forma de conexão ao banco, e ele determina como as execuções serão feitas.

No mysqli temos:

<?php 
while ($dados = mysqli_fetch_array($res)){

}

Esse mesmo código no PDO seria:

<?php
while ($dados = $res->fetchAll(PDO::FETCH_ASSOC)){

}

Eu acredito que você esteja confundindo PDO com Orientação a Objetos, mas são duas coisas que não tem relação alguma, o PDO pode ser usado até mesmo em código estruturado !

Tente reformular sua pergunta, caso não tenha sido tirada suas dúvidas.

Qualquer coisa é só falar !

Bons estudos !

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 27/09/2018 at 12:24, William Barreto disse:

Ola, desculpe a demora !

Mas ainda não entendi o que você espera como resposta, @Juinior Oliveira ...

Você quer que seja PDO ou mysqli ?

Não sei se entendeu errado o que é PDO, mas vou te explicar ...

PDO é uma forma de conexão ao banco, e ele determina como as execuções serão feitas.

No mysqli temos:


<?php 
while ($dados = mysqli_fetch_array($res)){

}

Esse mesmo código no PDO seria:


<?php
while ($dados = $res->fetchAll(PDO::FETCH_ASSOC)){

}

Eu acredito que você esteja confundindo PDO com Orientação a Objetos, mas são duas coisas que não tem relação alguma, o PDO pode ser usado até mesmo em código estruturado !

Tente reformular sua pergunta, caso não tenha sido tirada suas dúvidas.

Qualquer coisa é só falar !

Bons estudos !

Bom dia amigo

vou ser mais direto o que eu quero, o codigo a seguir e o novo que eu quero usar 

 1º Este é a configuracao.database.php do sistema

	//Ler Dados do Banco
	function DBRead($tabela, $campos = '*', $parametros = null){
		if (DB_PREFIX != '') { $tabela = DB_PREFIX.'_'.$tabela; }
		$parametros = ($parametros) ? " {$parametros}" : null;
		$query = "SELECT {$campos} FROM {$tabela}{$parametros}";
		$sql = DBExecute($query);
		if(!mysqli_num_rows($sql)) {
			return false;
		} else {
			while ($res = mysqli_fetch_assoc($sql)){
				$dados[] = $res;
			}
			return $dados;
		}
	}

 2º Este é onde fica a listagem das buscas no banco

<?php
	header('Access-Control-Allow-Origin: *');
	require_once('../../includes/funcoes.php');
	require_once('../../database/config.database.php');
	require_once('../../database/config.php');
	$id = get('id');
	if (ModoManutencao()) { header("Location: ../manutencao.php"); }

	$QueryCat = DBRead('c_produtos','*',"WHERE id = '{$id}'"); if (is_array($QueryCat)) { foreach ($QueryCat as $c_dados) {
		$p  		 		 = $c_dados['paginacao'];
		$cor_titulo 		 = $c_dados['cor_titulo'];
		$cor_conteudo	 	 = $c_dados['cor_conteudo'];
		$background	 		 = $c_dados['background'];
		$foto 				 = $c_dados['foto'];
	} }

	if ($id != '0') {
		$QueryNum = DBCount('produtos','*',"WHERE status = 'S' AND id_categoria = '{$id}' ORDER BY id DESC");
	} else {
		$QueryNum = DBCount('produtos','*',"WHERE status = 'S' ORDER BY id DESC");
	}

	$pag = (isset($_GET['pag']))? $_GET['pag'] : 1;
    $registros = $p;
    $numPaginas = ceil($QueryNum/$registros);
    $inicio = ($registros*$pag)-$registros;
	if ($id != '0') {
		$Query = DBRead('produtos','*',"WHERE status = 'S' AND id_categoria = '{$id}' ORDER BY id DESC LIMIT {$inicio}, {$registros}");
	} else {
		$Query = DBRead('produtos','*',"WHERE status = 'S' ORDER BY id DESC LIMIT {$inicio}, {$registros}");
	}
?>

3º Este é o meu codigo antigo que não vou usar mais

porem quer que o meu novo faça a mesma coisa igual a este

<?php

$host = 'localhost';
$user = 'root';
$pass = '';
$db   = 'loja_moveis';

$bsc = $_POST['bsc'];
$con = mysqlI_connect($host, $user, $pass, $db);
$sql = "SELECT* FROM produtos WHERE prod_nome LIKE '%$bsc%' OR prod_valor LIKE '%$bsc%' OR prod_categoria LIKE '%$bsc%' OR prod_marca LIKE '%$bsc%' order by prod_nome LIMIT 100";
$res = mysqli_query($con, $sql);
while ($dados = mysqli_fetch_array($res)) {

?>

4º Eu quero sabe de como fazer com que o novo codigo meu possa ter esta mesma função aqui

$sql = "SELECT* FROM produtos WHERE prod_nome LIKE '%$bsc%' OR prod_valor LIKE '%$bsc%' OR prod_categoria LIKE '%$bsc%' OR prod_marca LIKE '%$bsc%' order by prod_nome LIMIT 100";

Como disse bem antes eu fiz olhando em um video ele funciona perfeitamente 

porem não esta me dando o mesmo resultado como o antigo faz conseguiu entender ai agora? rsrsr

   

uma pergunta aqui qual é a diferença do ?  para o %

 

la na configuracao.database.php 

tem este paramentro o jeito que ele esta aqui esta certo 

$parametros = ($parametros) ? " {$parametros}" : null;


ele teria que ser assim para que desse certo da forma que eu quero
ex:
$parametros = ($parametros) % " {$parametros}" : null;

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, meu amigo !

Desculpe a demora novamente, ta embaçado pra mim ...  :/

 

Agora entendi melhor o que você quer, mas ainda não sei o que são suas buscas, não entendi o que você quer pegar do banco de dados.

Com as informações que me passou, eu cheguei no código que está abaixo, ele deverá substituir "a listagem das buscas no banco".

Nele será gerado uma queryString sem dados na busca, só precisará indicar nos "LIKE '%%'" qual será a busca a ser realizada e ele fará e retornará exatamente a mesma coisa que seu antigo código.

Eu não entendi de onde esta vindo essa busca, caso não seja ainda o que você quer, tente me explicar qual variável está recebendo a busca, assim ficará mais fácil pra eu te ajudar!

<?php
	header('Access-Control-Allow-Origin: *');
	require_once('../../includes/funcoes.php');
	require_once('../../database/config.database.php');
	require_once('../../database/config.php');

	$id = get('id');
	if (ModoManutencao())
		header("Location: ../manutencao.php");

	$stmt = DBRead('produtos', '*', " WHERE prod_nome LIKE '%%' OR prod_valor LIKE '%%' OR prod_categoria LIKE '%%' OR prod_marca LIKE '%%' order by prod_nome LIMIT 100");
	foreach($stmt as $dados){
		var_dump($dados);
	}

 

Quanto a sua dúvida, isso ai se trata de um IF ternário, é basicamente um IF com tamanho reduzido. Se você trocar a "?" por "%" estará errado, pois a interrogação indica que os dados entre os parenteses dos caracteres anteriores a ele trata-se da condição.

 

Uma recomendação de amigo ...

 

Eu recomendo inicialmente que pense bem sobre essas vídeo aula que esta vendo, pois ela não parece estar com o conteúdo bom.

Estude PDO e PHP Orientado a Objetos mesmo, isso ai que esta estudando não é o que esta pensando, seu código continua estruturado com algumas funções, é como se usasse PHP 4 orientado a objetos, mas na verdade tem como ser muito melhor !

 

Boa sorte e bons estudos !

Compartilhar este post


Link para o post
Compartilhar em outros sites
--
-- Estrutura da tabela `produtos`
--

CREATE TABLE `produtos` (
  `id` int(11) NOT NULL,
  `prod_nome` varchar(255) NOT NULL,
  `prod_valor` varchar(100) NOT NULL,
  `prod_marca` varchar(255) NOT NULL,
  `prod_imagem` varchar(255) NOT NULL,
  `status` char(25) NOT NULL,
  `prod_categoria` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `produtos` (`id`, `prod_nome`, `prod_valor`, `prod_marca`, `prod_imagem`, `status`, `prod_categoria`) VALUES
(1, 'Cama Box Casal', '2.500,00', 'Gradiador', '30082018_5.png', 'S', '1');
(2, 'Cama Box Casal King', '3.235,00', 'King Box', '3476589_13.png', 'S', '1');
(3, 'Cama Box Solteiro', '2.500,00', 'Gazim', '85747848_54.png', 'S', '1');
(4, 'Cama Beliche', '845,00', 'Madeira', '43533798d_777.png', 'S', '1');
(5, 'Cama Beliche', '845,00', 'Cerejeiras', 'sem_foto.png', 'N', '1');
7 horas atrás, William Barreto disse:

Bom dia, meu amigo !

Desculpe a demora novamente, ta embaçado pra mim ...  :/

 

Agora entendi melhor o que você quer, mas ainda não sei o que são suas buscas, não entendi o que você quer pegar do banco de dados.

Com as informações que me passou, eu cheguei no código que está abaixo, ele deverá substituir "a listagem das buscas no banco".

Nele será gerado uma queryString sem dados na busca, só precisará indicar nos "LIKE '%%'" qual será a busca a ser realizada e ele fará e retornará exatamente a mesma coisa que seu antigo código.

Eu não entendi de onde esta vindo essa busca, caso não seja ainda o que você quer, tente me explicar qual variável está recebendo a busca, assim ficará mais fácil pra eu te ajudar!


<?php
	header('Access-Control-Allow-Origin: *');
	require_once('../../includes/funcoes.php');
	require_once('../../database/config.database.php');
	require_once('../../database/config.php');

	$id = get('id');
	if (ModoManutencao())
		header("Location: ../manutencao.php");

	$stmt = DBRead('produtos', '*', " WHERE prod_nome LIKE '%%' OR prod_valor LIKE '%%' OR prod_categoria LIKE '%%' OR prod_marca LIKE '%%' order by prod_nome LIMIT 100");
	foreach($stmt as $dados){
		var_dump($dados);
	}

 

Quanto a sua dúvida, isso ai se trata de um IF ternário, é basicamente um IF com tamanho reduzido. Se você trocar a "?" por "%" estará errado, pois a interrogação indica que os dados entre os parenteses dos caracteres anteriores a ele trata-se da condição.

 

Uma recomendação de amigo ...

 

Eu recomendo inicialmente que pense bem sobre essas vídeo aula que esta vendo, pois ela não parece estar com o conteúdo bom.

Estude PDO e PHP Orientado a Objetos mesmo, isso ai que esta estudando não é o que esta pensando, seu código continua estruturado com algumas funções, é como se usasse PHP 4 orientado a objetos, mas na verdade tem como ser muito melhor !

 

Boa sorte e bons estudos !

 

Bom dia amigo

 

Bom vou mostrar a minha tabela aqui pra ve se entende rrsrs

 

Esta e a tabela de categorias

--
-- Estrutura da tabela `c_produtos`
--

CREATE TABLE `c_produtos` (
  `id` int(11) NOT NULL,
  `categoria` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Extraindo dados da tabela `c_produtos`
--

INSERT INTO `c_produtos` (`id`, `categoria`) VALUES
(1, 'Cama');

Esta é a tabela que lista todos os produtos

--
-- Estrutura da tabela `produtos`
--

CREATE TABLE `produtos` (
  `id` int(11) NOT NULL,
  `prod_nome` varchar(255) NOT NULL,
  `prod_valor` varchar(100) NOT NULL,
  `prod_marca` varchar(255) NOT NULL,
  `prod_imagem` varchar(255) NOT NULL,
  `status` char(25) NOT NULL,
  `prod_categoria` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `produtos` (`id`, `prod_nome`, `prod_valor`, `prod_marca`, `prod_imagem`, `status`, `prod_categoria`) VALUES
(1, 'Cama Box Casal', '2.500,00', 'Gradiador', '30082018_5.png', 'S', '1');
(2, 'Cama Box Casal King', '3.235,00', 'King Box', '3476589_13.png', 'S', '1');
(3, 'Cama Box Solteiro', '2.500,00', 'Gazim', '85747848_54.png', 'S', '1');
(4, 'Cama Beliche', '845,00', 'Madeira', '43533798d_777.png', 'S', '1');

Este é o arquivo prod_buscar.php

<?php
	header('Access-Control-Allow-Origin: *');
	require_once('../../includes/funcoes.php');
	require_once('../../database/config.database.php');
	require_once('../../database/config.php');
	$id = get('id');
	if (ModoManutencao()) { header("Location: ../manutencao.php"); }

	$QueryCat = DBRead('c_produtos','*',"WHERE id = '{$id}'"); if (is_array($QueryCat)) { foreach ($QueryCat as $c_dados) {
		$p  		 		 = $c_dados['paginacao'];
		$cor_titulo 		 = $c_dados['cor_titulo'];
		$cor_conteudo	 	 = $c_dados['cor_conteudo'];
		$background	 		 = $c_dados['background'];
	} }

	if ($id != '0') {
		$QueryNum = DBCount('produtos','*',"WHERE status = 'S' AND prod_categoria = '{$id}' ORDER BY id DESC");
	} else {
		$QueryNum = DBCount('produtos','*',"WHERE status = 'S' ORDER BY id DESC");
	}

	$pag = (isset($_GET['pag']))? $_GET['pag'] : 1;
    $registros = $p;
    $numPaginas = ceil($QueryNum/$registros);
    $inicio = ($registros*$pag)-$registros;
	if ($id != '0') {
		$Query = DBRead('produtos','*',"WHERE status = 'S' AND prod_categoria = '{$id}' ORDER BY id DESC LIMIT {$inicio}, {$registros}");
	} else {
		$Query = DBRead('produtos','*',"WHERE status = 'S' ORDER BY id DESC LIMIT {$inicio}, {$registros}");
	}
?>

Seria isso ai

 

Outra coisa neste mesmo arquivo como faço para fazer a busca aparecer mais o menos assim

 

prod_buscar?buscar=cama-box-casal

 

o outro meu ele gerava as busca por iframe

 

quero fazer a busca sem sair do prod_buscar.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que deu tudo certo !

Ainda bem que conseguiu, pois tava difícil compreender, desculpe !

kkkkkkkkkk"

Eu vi você comentando sobre os dados na URL, mas não seria melhor se você programasse a requisição de busca por ajax ?

Busca costuma ser muito mais viável feita instantaneamente, atualização de página costuma cansar os usuários/clientes, se quiser uma recomendação de como ficaria isso posso te passar !

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Jack Oliveira
      OLA GALERA ALGUÉM AI QUE ENTENDA MELHOR DE PDO QUE PORDERIA ME AJDUAR EM UM PROBLEMA A QUESTÃO É QUERO QUE ESTE FORMULARIO ELE SALVA E FICA SALVA E EDITA CONTINUANDO COM O ESPAÇO E TBM QUANDO EDITA ELE TROCA OS CAMPOS ESTE É O CODIGO DE CADASTRO E EDIÇÃO e ALGUMAS IMAGEM LOGO A BAIXO DO SISTEMA <----------------- CODIGO PDO ----------------------> <?php require_once('includes/funcoes.php'); ?> <?php require_once('includes/header.php'); ?> <?php require_once('includes/menu.php'); ?> <?php require_once('controller/vilhena.php'); ?> <?php $TitlePage = 'Empresas em Vilhena'; ?> <?php $UrlPage = 'vilhena.php'; ?> <div class="content-wrapper"> <section class="content-header"> <h1><?php echo $TitlePage; ?> <small><?php echo ConfigPainel('site_nome'); ?></small></h1> <ol class="breadcrumb"> <li><a href="index.php"><i class="fa fa-dashboard"></i> Painel de Controle</a></li> <li class="active"><?php echo $TitlePage; ?></li> </ol> </section> <section class="content"> <div class="row"> <div class="col-md-12"> <div class="box"> <div class="box-body no-padding"> <div class="nav-tabs-custom"> <ul class="nav nav-tabs"> <li class="dropdown"> <a class="dropdown-toggle active" data-toggle="dropdown" href="#">Menu de Opções <span class="caret"></span></a> <ul class="dropdown-menu"> <li role="presentation"><a role="menuitem" tabindex="-1" href="<?php echo $UrlPage; ?>">Empresas Cadastradas</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="?AdicionarItem">Cadastrar Empresa</a></li> <?php if (DadosSession('nivel') == 1) { ?> <li role="presentation"><a role="menuitem" tabindex="-1" href="?AdicionarCategoria">Cadastrar Categoria</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="?Implementacao">Categorias/Implementação</a></li> <?php } ?> </ul> </li> <?php if (DadosSession('nivel') == 1){ ?> <li class="pull-right"> <button class="btn btn-primary" <?php Tooltip('Ajuda','top'); ?> data-toggle="modal" data-target="#Ajuda"><i class="fa fa-question-circle"></i></button> </li> <?php } ?> </ul> <div class="tab-content"> <?php if(isset($_GET['AdicionarItem'])){ VerificaCategoria('c_vilhena'); ?> <form method="post" action="?Adicionar" enctype="multipart/form-data"> <div class="col-md-6"> <div class="form-group"> <label>Nome:</label> <input class="form-control" name="nome" required> </div> <div class="form-group"> <label>DESTACAR:</label> <input class="form-control" name="destaque" required> </div> <div class="form-group"> <label>PLANO:</label> <input class="form-control" name="plano" required> </div> <div class="form-group"> <label>Categoria:</label> <select class="form-control" name="id_categoria"> <?php $Query = DBRead('c_vilhena','*','WHERE id > 0'); if (is_array($Query)) { foreach ($Query as $c_dados) { ?> <option value="<?php echo $c_dados['id']; ?>"><?php echo $c_dados['categoria']; ?></option> <?php } } ?> </select> </div> </div> <div class="col-md-6"> <div class="form-group"> <label>TELEFONE:</label> <input class="form-control" name="telefone"> </div> <div class="form-group"> <label>CELULAR:</label> <input class="form-control" name="celular"> </div> <div class="form-group"> <label>WHATSAPP:</label> <input class="form-control" name="whatsapp"> </div> <div class="form-group"> <label>ENDEREÇO:</label> <input class="form-control" name="endereco"> </div> <div class="form-group"> <label>FACEBOOK:</label> <input class="form-control" name="facebook"> </div> <div class="form-group"> <label>E-mail:</label> <input class="form-control" name="email"> </div> <div class="form-group"> <label>Status:</label> <select class="form-control" name="status"> <option value="S" >Ativo</option> <option value="N">Inativo</option> </select> </div> </div> <div class="col-md-12"> <div class="form-group"> <label>Imagem:</label> <input class="form-control" type="file" name="imagem"> </div> <div class="form-group"> <label>PALAVRA CHAVE:</label> <textarea class="form-control" name="chave" rows="4" required></textarea> </div> <center><hr> <button class="btn btn-primary">Adicionar</button> <br><br> </center> </div> </form> <?php } elseif(isset($_GET['EditarItem'])){ ?> <?php $id = get('EditarItem'); $Query = DBRead('vilhena','*',"WHERE id = '{$id}'"); if (is_array($Query)) { foreach ($Query as $dados) { ?> <form method="post" action="?Atualizar=<?php echo $id; ?>" enctype="multipart/form-data"> <div class="col-md-6"> <div class="form-group"> <label>Nome:</label> <input class="form-control" name="nome" value="<?php echo $dados['nome']; ?>" required> </div> <div class="form-group"> <label>DESTAQUE:</label> <input class="form-control" name="destaque" value="<?php echo $dados['destaque']; ?>" required> </div> <div class="form-group"> <label>PLANO:</label> <input class="form-control" name="nome" value="<?php echo $dados['plano']; ?>" required> </div> <div class="form-group"> <label>Categoria:</label> <select class="form-control" name="id_categoria"> <?php $Query = DBRead('c_vilhena','*','WHERE id > 0'); if (is_array($Query)) { foreach ($Query as $c_dados) { ?> <option value="<?php echo $c_dados['id']; ?>" <?php Selected($dados['id_categoria'], $c_dados['id']); ?>><?php echo $c_dados['categoria']; ?></option> <?php } } ?> </select> </div> </div> <div class="col-md-6"> <div class="form-group"> <label>TELEFONE:</label> <input class="form-control" name="telefone" value="<?php echo $dados['telefone']; ?>"> </div> <div class="form-group"> <label>CELULAR:</label> <input class="form-control" name="celular" value="<?php echo $dados['celular']; ?>"> </div> <div class="form-group"> <label>WHATSAPP:</label> <input class="form-control" name="whatsapp" value="<?php echo $dados['whatsapp']; ?>"> </div> <div class="form-group"> <label>ENDEREÇO:</label> <input class="form-control" name="endereco" value="<?php echo $dados['enderco']; ?>"> </div> <div class="form-group"> <label>FACEBOOK:</label> <input class="form-control" name="facebook" value="<?php echo $dados['facebook']; ?>"> </div> <div class="form-group"> <label>E-mail:</label> <input class="form-control" name="email" value="<?php echo $dados['email']; ?>"> </div> <div class="form-group"> <label>Status:</label> <select class="form-control" name="status"> <option value="S" <?php Selected($dados['status'],'S'); ?>>Ativo</option> <option value="N" <?php Selected($dados['status'],'N'); ?>>Inativo</option> </select> </div> </div> <div class="col-md-12"> <div class="form-group"> <label>Atualizar Imagem:</label> <input class="form-control" type="file" name="imagem"> <input class="hidden" name="imagem_atual" value="<?php echo $dados['imagem']; ?>"> </div> <div class="form-group"> <label>PALAVRA CHAVE:</label> <textarea class="form-control" name="chave" rows="4" required><?php echo $dados['chave']; ?></textarea> </div> <center><hr> <button class="btn btn-primary">Atualizar</button> <br><br> </center> </div> </form> <?php } } ?> <?php } elseif (isset($_GET['AdicionarCategoria'])) { ?> <form method="post" action="?AddCategoria" enctype="multipart/form-data"> <div class="col-md-6"> <div class="form-group"> <label>Titulo:</label> <input class="form-control" name="categoria"> </div> <div class="form-group"> <label>Paginação:</label> <input class="form-control" type="number" name="paginacao"> </div> <div class="form-group"> <label>Permitir Foto:</label> <select class="form-control" name="foto"> <option value="S">Sim</option> <option value="N">Não</option> </select> </div> </div> <div class="col-md-6"> <div class="form-group"> <label>Cor Background:</label> <div class="input-group InputColor"> <input class="form-control" name="background" value="#242424"> <div class="input-group-addon"><i></i></div> </div> </div> <div class="form-group"> <label>Cor Nome:</label> <div class="input-group InputColor"> <input class="form-control" name="cor_titulo" value="#242424"> <div class="input-group-addon"><i></i></div> </div> </div> <div class="form-group"> <label>Cor Recado/Resposta:</label> <div class="input-group InputColor"> <input class="form-control" name="cor_conteudo" value="#242424"> <div class="input-group-addon"><i></i></div> </div> </div> </div> <div class="col-md-12"> <center><hr> <button class="btn btn-primary">Adicionar</button> <br><br> </center> </div> </form> <?php } elseif (isset($_GET['EditarCategoria'])) { ?> <?php $id = get('EditarCategoria'); $Query = DBRead('c_vilhena','*',"WHERE id = '{$id}'"); if (is_array($Query)) { foreach ($Query as $c_dados) { ?> <form method="post" action="?AtualizarCategoria=<?php echo $id; ?>"> <div class="col-md-6"> <div class="form-group"> <label>Titulo:</label> <input class="form-control" name="categoria" value="<?php echo $c_dados['categoria']; ?>"> </div> <div class="form-group"> <label>Paginação:</label> <input class="form-control" type="number" name="paginacao" value="<?php echo $c_dados['paginacao']; ?>"> </div> <div class="form-group"> <label>Permitir Foto:</label> <select class="form-control" name="foto"> <option value="S" <?php Selected($c_dados['foto'],'S'); ?>>Sim</option> <option value="N" <?php Selected($c_dados['foto'],'N'); ?>>Não</option> </select> </div> </div> <div class="col-md-6"> <div class="form-group"> <label>Cor Background:</label> <div class="input-group InputColor"> <input class="form-control" name="background" value="<?php echo $c_dados['background']; ?>"> <div class="input-group-addon"><i></i></div> </div> </div> <div class="form-group"> <label>Cor Nome:</label> <div class="input-group InputColor"> <input class="form-control" name="cor_titulo" value="<?php echo $c_dados['cor_titulo']; ?>"> <div class="input-group-addon"><i></i></div> </div> </div> <div class="form-group"> <label>Cor Recado/Resposta:</label> <div class="input-group InputColor"> <input class="form-control" name="cor_conteudo" value="<?php echo $c_dados['cor_conteudo']; ?>"> <div class="input-group-addon"><i></i></div> </div> </div> </div> <div class="col-md-12"> <center><hr> <button class="btn btn-primary">Atualizar</button> <br><br> </center> </div> </form> <?php } } ?> <?php } elseif (isset($_GET['Implementacao'])) { ?> <div class="table-responsive"> <table id="DataTable" class="table table-bordered table-striped"> <thead> <tr> <th>ID</th> <th>Titulo</th> <?php if (DadosSession('nivel') == 1) { ?> <th>Implementação WA5</th> <th>Implementação WA4</th> <!-- <th>Cadastro de Recados</th> --> <?php } ?> <th width="53px">Ações</th> </tr> </thead> <tbody> <?php $Query = DBRead('c_vilhena','*'); if (is_array($Query)) { foreach ($Query as $c_dados) { ?> <?php $CodSite = '<div id="RecadosWA'.$c_dados['id'].'" data-categoria="'.$c_dados['id'].'" data-painel="'.ConfigPainel('base_url').'"></div>'."\n"; $CodSite .= '<script>Recados('.$c_dados['id'].');</script>'; $CodSiteWA4 = '<iframe width="100%" height="100%" scrolling="auto" seamless="seamless" frameborder="0" src="'.ConfigPainel('base_url').'/wa/recados.php?id='.$c_dados['id'].'&Wa4"></iframe>'; //$CodSiteAdd = '<iframe width="100%" height="300px" scrolling="auto" seamless="seamless" frameborder="0" src="'.ConfigPainel('base_url').'/wa/recados/add-recados.php?id='.$c_dados['id'].'"></iframe>'; ?> <tr> <td><?php echo $c_dados['id']; ?></td> <td><?php echo $c_dados['categoria']; ?></td> <?php if (DadosSession('nivel') == 1) { ?> <td> <button id="btnCopiarCodSite<?php echo $c_dados['id']; ?>" class="btn btn-primary btn-xs" onclick="CopiadoCodSite(<?php echo $c_dados['id']; ?>)" data-clipboard-text='<?php echo $CodSite; ?>'> <i class="fa fa-code"></i> Copiar Cód. do Site </button> </td> <td> <button id="btnCopiarCodSiteWa4<?php echo $c_dados['id']; ?>" class="btn btn-primary btn-xs" onclick="CopiadoCodSiteWa4(<?php echo $c_dados['id']; ?>)" data-clipboard-text='<?php echo $CodSiteWA4; ?>'> <i class="fa fa-code"></i> Copiar Cód. do Site </button> </td> <!-- <td> <?php if ($c_dados['id'] == 0) { ?> <button class="btn btn-primary btn-xs" disabled> <i class="fa fa-code"></i> Código Indisponível </button> <?php } else { ?> <button id="btnCopiarCodSite01<?php echo $c_dados['id']; ?>" class="btn btn-primary btn-xs" onclick="CopiadoCodSite01(<?php echo $c_dados['id']; ?>)" data-clipboard-text='<?php echo $CodSiteAdd; ?>'> <i class="fa fa-code"></i> Copiar Cód. do Formulário </button> <?php } ?> </td> --> <?php } ?> <td> <div class="btn-group"> <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">Opções</button> <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown"> <span class="caret"></span> <span class="sr-only">Opções</span> </button> <ul class="dropdown-menu" role="menu"> <li><a href="?EditarCategoria=<?php echo $c_dados['id']; ?>">Editar</a></li> <?php if ($c_dados['id'] != '0') { ?> <li class="divider"></li> <li><a onclick="DeletarItem(<?php echo $c_dados['id']; ?>, 'DeletarCategoria');" href="#!" class="text-red">Excluir</a></li> <?php } ?> </ul> </div> </td> </tr> <?php } } ?> </tbody> </table> </div> <?php } else { ?> <div class="table-responsive"> <table id="DataTable" class="table table-bordered table-striped"> <thead> <tr> <th>ID</th> <th>Nome</th> <th>Categoria</th> <th>Status</th> <th width="53px">Ações</th> </tr> </thead> <tbody> <?php $Query = DBRead('vilhena','*'); if (is_array($Query)) { foreach ($Query as $dados) { ?> <tr> <td><?php echo $dados['id']; ?></td> <td><?php echo LimitarTexto($dados['nome'],'80','...'); ?></td> <td><?php echo VerificaCategoriaItem($dados['id_categoria'],'c_vilhena'); ?></td> <td><?php StatusSN($dados['status']); ?></td> <td> <div class="btn-group"> <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">Opções</button> <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown"> <span class="caret"></span> <span class="sr-only">Opções</span> </button> <ul class="dropdown-menu" role="menu"> <li><a href="?EditarItem=<?php echo $dados['id']; ?>">Editar</a></li> <li class="divider"></li> <li><a onclick="DeletarItem(<?php echo $dados['id']; ?>, 'DeletarItem');" href="#!" class="text-red">Excluir</a></li> </ul> </div> </td> </tr> <?php } } ?> </tbody> </table> </div> <?php } ?> </div> </div> </div> </div> </div> </div> </section> </div> <?php require_once('includes/footer.php'); ?> <script type="text/javascript"> function CopiadoCodSite01(id){ var clipboard = new Clipboard('#btnCopiarCodSite01'+ id); clipboard.on('success', function(e) { document.getElementById('btnCopiarCodSite01'+id).innerHTML= 'Copiado!'; document.getElementById("btnCopiarCodSite01"+id).disabled = true; }); } </script> <div class="modal fade" id="Ajuda" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel">Informações de Sobre o Módulo</h4> </div> <div class="modal-body"> <p> 1- Recomendamos desativar efeitos parallax em páginas onde o módulo será integrado.<br> 2- [WA4] Caso ao adicionar o código de implementação no WA ele apresente algum erro, desmarque a opção pre-visualizar da área HTML.<br> </p> </div> <div class="modal-footer"> <center> <em>Obs.: As informações acima, não são BUGS e sim limitações que todo e qualquer sistema possui, portanto não será necessário reporta-los.</em> </center> </div> </div> </div> </div> <--------------- FIM DO CODIGO PDO ------------->
       
           AQUI ESTA O LINK PRA QUEM PUDER OLHAR O  PROBLEMA E ME DAR UMA SOLUÇÃO AI 
       
       
      http://liguecerto.esy.es/wa7admin/    
       
      LOGIN E SENHA: demo
×

Informação importante

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