Pesquisar em Php

xpto1987

Membro
Boas,
estou a fazer um projecto com Php e MySql...preciso de fazer um formulario para pesquisar os dados de uma tabela...Por exemplo:

o utilizador pretende listar todas as viaturas de uma determinada marca...existe uma text box onde o utilizador introduz a marca e ao clicar no botao 'Ok' aparece a lista das viaturas dessa marca mas na mesma pagina...o codigo para listar ja esta feito...mas nao sei como fazer para aparecer tudo na mesma pagina...penso que com JavaScript dava mas eu nao tenho nenhuns conhecimentos....

Agradecia ajuda....

Cump's Xpto1987
 
Boas,
estou a fazer um projecto com Php e MySql...preciso de fazer um formulario para pesquisar os dados de uma tabela...Por exemplo:

o utilizador pretende listar todas as viaturas de uma determinada marca...existe uma text box onde o utilizador introduz a marca e ao clicar no botao 'Ok' aparece a lista das viaturas dessa marca mas na mesma pagina...o codigo para listar ja esta feito...mas nao sei como fazer para aparecer tudo na mesma pagina...penso que com JavaScript dava mas eu nao tenho nenhuns conhecimentos....

Agradecia ajuda....

Cump's Xpto1987

com javascript é impossivel...tens de usar uma linguagem de servidor, por exemplo php que por sua vez faz uma busca à base de dados usando sql...de qualquer modo penso que esse projecto ficaria melhor se em vez de usares uma textbox usasses antes uma combox que listasse todas as marcas de carros existentes na tabela marcas...
 
Uma combobox?

Voçês já trabalharam com mais de 1500 resultados? Era giro era :P

xpto1987, se usas PHP e MYSQL não precisas de mais nada!

Exemplo de listagem

PHP:
<?php
echo "<table>";
$sql = (teu codigo sql);
$result = mysql_query($sql);
while ($dados = mysql_fetch_assoc($result)) {
?>

<tr><td>Nome da viatura</td></tr>
<tr><td><?=$dados['nome_viatura'];?></td></tr>

<?php
}
echo "</table>";
?>
 
temos de aplicar cada solução a cada caso especifico.. estamos a falar de marcas de carros, onde não deverá haver mais do que algumas dezenas de resultados portanto parece-me a melhor solução além do mais o utilizador fica sempre a saber quais as marcas que existem..e com ajax pode-se pensar numa solução para se ir automaticamente preenchendo outras combo com o modelo , portas, etc...
 
hostmake obrigado, mas eu isso ja sabia +-...mas o que eu queria mesmo era quando o utilizador inserir a marca pretendida e clicar no ok iria aparecer na mesma pagina a lista das viaturas da marca escolhida
 
ok.. ex:

PHP:
<select name="id_para_ir_buscar_novo_campo" onChange="this.form.submit();"><option...></select>
<?php
if (isset($_POST['id_para_ir_buscar_novo_campo'])) {
$id = $_POST['id_para_ir_buscar_novo_campo'];
?>
<select name="os_campos_do_id" onChange="this.form.submit();">
<option>Marca X</option>
<option>Marca Y</option>
</select>
<?php
}
?>
 
xpto1987 para que o resultado apareça na mesma página no action do teu form podes ter nada, ou seja action="" ou mais eficaz: action="<?php echo $_SERVER['PHP_SELF']; ?>" ->isto faz com que se involque a mesma página depois da pesquisa.

Agora...
digamos que o nome ou id da tua textfield seja marcas e que o method do teus action seja post(action="post"), vais buscar o conteúdo dessa textfield com a super global $_POST.
Vamos supor tb que tens um tabela na base de dados com o nome viaturas e que um dos atributos dessa tabela seja marcas

O codigo deve ficar +- assim:

PHP:
$marcas = $_POST['marcas'];

$sql = mysql_query("SELECT * FROM viaturas WHERE marcas LIKE '%$marcas%' ", $tua_conexao_BD);

if((!empty($marcas)) && (mysql_num_rows($sql) > 0)) {

    while($registos = mysql_fecth_assoc($sql)){
        echo $registos['marcas'];

    }
}else{
    echo "Procura sem resultados.";
}

Basta formatares melhor a forma com vais mostra o resultado, numa tabela, com CSS ou... LOL agora vais a tua imaginação :)

Espero ter ajudado...
 
Back
Topo