Ir para conteúdo

POWERED BY:

Arquivado

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

Tatiane.Design

Sistema de busca em php e mysql

Recommended Posts

Boa tarde,

 

Criei um sistema de busca simples para um site

 

so que to com o seguinte problema vou explicar meu problema

 

nome tabela: Taiff

id 1 = secador unique

id 2 = secador expert

id 3 = chapa titanium

 

vou colocar so esses 3 exemplos

 

meu problema é o seguinte quando digito nome do id pro ex: secador unique sai normal o resultado na busca mas quando digito taiff que nome da tabela e a marca dos secadores não sai resultado na busca. como incluir o nome da tabela no resultado da busca, por exemplo digito taiff sai todos os produtos da tabela taiff

 

:( :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

por exemplo digito taiff sai todos os produtos da tabela taiff

 

Não sei se voce explicou direito seu problema, mas pelo o que voce falou e assumindo que voce está usando o MySQL, você quer é fazer um select na tabela, assim:

 

$sql = "SELECT * FROM taiff";
$query = mysql_query($sql);
$result = mysql_fetch_assoc($query);

 

Depois seria só trabalhar em cima desse result para mostrar os dados do produto que voce deseja.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz mais ou menos isso:

 

 

$busca = $_REQUEST['busca'];

 

$sql = "SELECT * FROM taiff WHERE id='".%$busca%."' or produto='".%$busca%."'";

$query = mysql_query($sql);

$resultado = mysql_fetch_assoc($query);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigada vou tentar aqui com essas dicas :D

 

ta dando erro nessa linha:

 

$sql = "SELECT * FROM taiff WHERE id='".%$busca%."' or produto='".%$busca%."'";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda está errado Kyosuke, dessa forma não vai funcionar, o SQL vai procurar por um produto que tenha exatamente '%NOME%' então suas porcentagens não terão o efeito esperado, utilize a cláusula like para isso.

<?php
      $busca = 'a';
      $sql = sprintf( "SELECT * FROM `taiff` WHERE `id` LIKE '%%%s%%' OR `produto` LIKE '%%%s%%';" , $busca , $busca ); 
      echo $sql;

 

Saída:

SELECT * FROM `taiff` WHERE `id` LIKE '%a%' OR `produto` LIKE '%a%';

 

:seta: http://php.net/manual/pt_BR/function.sprintf.php -- apenas para dúvidas quanto a função utilizada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ihh, é verdade, esqueci disso. É que estou começando no php, ai procuro ajudar pois assim tbm aprendo. Mas acabei dando mancada :ermm:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muiiiitttttooooo Obrigada novamente vou tentar aqui acho que agora vai dar certo

:D :D

 

Acho que to fazendo alguma coisa errada não repara não rsrsrs to aprendendo sou super iniciante, quando vou testar a busca sai essa mensagem (SELECT * FROM `taiff` WHERE `id` LIKE '%%' OR `produto` LIKE '%a%';)

 

 <?php

      $pesquisar = 'a';
      $sql = sprintf( "SELECT * FROM `taiff` WHERE `id` LIKE '%%%s%%' OR `produto` LIKE '%%%s%%';" , $pequisar , $pesquisar ); 
      echo $sql;
?>

 

Codigo abaixo retorna texto da tabela

<?

$pesquisar = $_REQUEST['pesquisar'];

$sql_taiff = mysql_query("SELECT * FROM taiff where texto like'%$pesquisar%'

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz assim:

 

<?php

      $pesquisar = $_REQUEST['pesquisar'];
      $sql = sprintf( "SELECT * FROM `taiff` WHERE `id` LIKE '%".$pesquisar."%' OR `produto` LIKE '%".$pesquisar."%'"); 
      $resultado = mysql_query($sql);
      print_r($resultado); //essa linha é só pra ver se deu certo.
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que to fazendo alguma coisa errada não repara não rsrsrs to aprendendo sou super iniciante, quando vou testar a busca sai essa mensagem (SELECT * FROM `taiff` WHERE `id` LIKE '%%' OR `produto` LIKE '%a%';)

 

 <?php

      $pesquisar = 'a';
      $sql = sprintf( "SELECT * FROM `taiff` WHERE `id` LIKE '%%%s%%' OR `produto` LIKE '%%%s%%';" , $pequisar , $pesquisar ); 
      echo $sql;
?>

 

Codigo abaixo retorna texto da tabela

<?
	$pesquisar = $_REQUEST['pesquisar'];
       $sql_taiff = mysql_query("SELECT * FROM taiff where texto like'%$pesquisar%'");
	while($linha = mysql_fetch_array($sql_taiff)){
		$texto = $linha['texto'];
		$texto2 = substr("$texto",0,200);
	?>
       <a href="?pg=taiff" style="color:#666; text-decoration:none">

       <div style="padding-top:10px; margin-bottom:10px; padding-bottom:10px; border-bottom:1px dashed #333">
       <span style="color:#666"><strong>Taiff</strong></span><br />
       <? echo $texto2 ?>
       </div>        
       </a>
	<?
	}
	?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta dando esse erro

 

Warning: sprintf() [function.sprintf]: Too few arguments in C:\wamp\www\cosmeticas\busca.php on line 69

 

:(

 

:( :(

alguem pode me orientar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tinha que executar a query.

<?php
      $busca = 'a';
      $sql = sprintf( "SELECT * FROM `taiff` WHERE `id` LIKE '%%%s%%' OR `produto` LIKE '%%%s%%';" , $busca , $busca ); 
      $SQL = mysql_query( $sql ) or die( mysql_error( ) );
      while( $linha = mysql_fetch_array( $SQL ) ){
             /**
              *
              */
      } 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok Andrey vou tentar aqui novamente

Obrigada

 

;)

 

Oii acho que ja estou ate incomodando to aprendendo aos poucos rsrsrs

Olha so coloquei da seguinte forma:

 

 <?php
      $busca = 'a';
      $sql = sprintf( "SELECT * FROM `taiff` WHERE `id` LIKE '%%%s%%' OR `produto` LIKE '%%%s%%';" , $busca , $busca ); 
      $SQL = mysql_query( $sql ) or die( mysql_error( ) );
      while( $linha = mysql_fetch_array( $SQL ) ){
  $texto = $linha['texto'];
		$texto2 = substr("$texto",0,200);
	?>
       <a href="?pg=taiff" style="color:#666; text-decoration:none">

       <div style="padding-top:10px; margin-bottom:10px; padding-bottom:10px; border-bottom:1px dashed #333">
       <span style="color:#666"><strong>Taiff</strong></span><br />
       <? echo $texto2 ?>
       </div>        
       </a>
	<?
	}
	?>

 

 

Quando vou testar esta aparecendo a mensagem:

 

Unknown column 'produto' in 'where clause'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa minha ignorância mais onde fica o nome da coluna numa tabela

 

Nome da tabela: taiff

 

AUTO-INCREMENT

INDICE: PRIMARY

 

id__________texto_______________________foto___________________link

 

1_____Secador Unique Expert_______secadoruniqueexpert.png_____+Detalhes

2_____Taiff - Secador UniquE______secadorunique.png___________+Detalhes

3_____Secador Silenzio____________secadorsilenzio.png_________+Detalhes

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.