Jump to content

Recommended Posts

Posted

bom dia,

Eu queria que alguem me ajudasse a completar ou melhorar o codigo php. O problema é que quero que o utilizador pode pesquisar a palavra chave ou por categoria. o que me acontece é que só pesquisa pela a palavra ou categoria dependendo que variavel meter e não consigo os dois ao mesmo tempo, ja andei a pesquisar e não encontrei.

<form name="search" id="form" method="POST" action="index.php">
  <input type="text" placeholder="pesquisar" name="busca"/>
  <input type="submit" value="pesquisar"/>
  <select name="marca">
    <option type="button" name="tudos" value="tudos"><a href="#">Tudos</a>
    <option type="button" name="honda" value="honda"><a href="#">honda</a>
    <option type="button" name="yamaha" value="yamaha"><a href="#">yamaha</a>
    <option type="button" name="kawasaki" value="kawasaki"><a href="#">kawasaki</a>
    <option type="button" name="briggs e stratton" value="briggs e stratton"><a href="#">briggs e stratton</a>
  </select>
</form>
<?php
$busca = $_POST['busca'];
$marca = $_POST['marca'];
$sql = mysql_query("SELECT * FROM motas WHERE marca LIKE '%".$busca."%' ORDER BY ID DESC");
					
while($linha = mysql_fetch_array($sql)){
  $marca = $linha['marca'];
  $img = $linha['img'];
  $link = $linha['link'];
  echo '<div class="view second-effect">';
  echo "<img src=\"../$img\" />";
  echo '<div class="mask">';
  echo "<a href=\"$link\" class='info'>"$marca"</a>";
  echo '</div>';
  echo '</div>';
}
?>

Obrigado,

Se precisarem de mais avisem.

Abraços

Melhores cumprimentos,

HAPRO

Posted
$posts = ['busca', 'marca'];

$params = [];
foreach ($posts as $post) {
    if (array_key_exists($post, $_POST) && $_POST[$post]) {
        $params[] = " marca LIKE '%".$_POST[$post]."%' ";
    }
}

$sql = mysql_query("SELECT *
                    FROM motas
                    WHERE ".(implode(" OR ", $params))."
                    ORDER BY ID DESC");
IRC : sim, é algo que ainda existe >> #p@p
Posted
Em 8/19/2016 às 11:21, HappyHippyHippo disse:

$posts = ['busca', 'marca'];

$params = [];
foreach ($posts as $post) {
    if (array_key_exists($post, $_POST) && $_POST[$post]) {
        $params[] = " marca LIKE '%".$_POST[$post]."%' ";
    }
}

$sql = mysql_query("SELECT *
                    FROM motas
                    WHERE ".(implode(" OR ", $params))."
                    ORDER BY ID DESC");

podes me explicar a parte dos $post que não tou a perceber 

Melhores cumprimentos,

HAPRO

Posted

Já percebi, obrigado, o que quero mesmo é a variável busca vai para uma coluna na base de dados e a variável marca vai para outra.

Obrigado

Melhores cumprimentos,

HAPRO

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.