Ir para conteúdo

Arquivado

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

hars14

Busca no bd

Recommended Posts

Olá pessoalestou precisando fazer uma página para buscar valores no banco de dadosé assimuma pessoa entra no site e quer procurar o que tem por exemplo na área de produtosentão ela digita o nome e digita a seção do protutoeu pensei em fazer um simples form assim:<form action="../fnc/busca.php?d=<?=$mn_2->data["loc_xxx"];?>" method="post" enctype="application/x-www-form-urlencoded" name="form1" id="form1"><input name="nomeloja_busca" type="text" id="nomeloja_busca" size="30" /> <select name="categoria_busca" id="categoria_busca"> <option>Selecione</option> <? while($mn_3->row()) { ?><option value="<?=$mn_3->data["nome_sec"];?>"><?=$mn_3->data["nome_sec"];?></option><? } ?> </select> <input name="mode" type="hidden" id="mode" value="busca" />até aqui está td certo, o valor de D é a regiãoa página busca.php ela só tem códigosentão eu pensei em fazer assim a parte de buscar>:if($mode == 'busca') { $busca = new conexao(); $busca->query("SELECT * FROM loja_comerb WHERE nome_loja = '$nomeloja_busca' AND sec_loja = '$categoria_busca' ORDER BY id_loja ASC"); $busca->row(); echo "<script>document.location = ('../principal/buscaconcluida.php?n='".$busca->data["nome_loja"]."'&sec='".$busca->data["sec_loja"]."');</script>";}mas então não está dando o echose alguem tiver uma forma melhor para fazer campos de busca me ajudem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não use JS para redirecionsar, use o header ("Location: pagina.php");.

Não se pode utilizar header depois da tag <html> ou depois de um echo ou print.

 

@hars4

O seu javascript esta errado, tenta colocar assim <script type="text/javascript">

 

echo "<script type=\"text/javascript\">document.location = ('../principal/buscaconcluida.php?n='".$busca->data["nome_loja"]."'&sec='".$busca->data["sec_loja"]."');</script>";

 

Já agora a melhor forma de pesquisar é utilizando "LIKE" em vez de você utilizar:

 

SELECT * FROM loja_comerb WHERE nome_loja = '$nomeloja_busca' AND sec_loja = '$categoria_busca' ORDER BY id_loja ASC

 

Utilize assim:

 

SELECT * FROM loja_comerb WHERE nome_loja LIKE %'$nomeloja_busca'% AND sec_loja LIKE %'$categoria_busca'% ORDER BY id_loja ASC

 

Cumprimentos

Luis

Compartilhar este post


Link para o post
Compartilhar em outros sites

caraentendi o que você fezmas tipoestá dando erro na hora de selecionaro estranho é que quando eu tiro a row não dá o erro mas também não da o echo

Compartilhar este post


Link para o post
Compartilhar em outros sites

carao erro que está dando quando você ver você ira falar que é meu código, mas ele só da quando o SELECT não funcionouentendee sempre que ele dá é pq tenho que arrumar o selectabraçosHenrique

Compartilhar este post


Link para o post
Compartilhar em outros sites

carao erro que está dando quando você ver você ira falar que é meu código, mas ele só da quando o SELECT não funcionouentendee sempre que ele dá é pq tenho que arrumar o selectabraçosHenrique

Cara como é que você sabe que eu ia dizer que o erro é do seu código ? O erro deve estar no query mesmo se você não quer ser ajudado problema seu. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

O caradesculpa ai, não quereria dizer isso, mal entendidos acontecemo código do erro é:Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\root\comerb\fnc\fnc.php on line 44Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\root\comerb\fnc\fnc.php on line 45Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\root\comerb\fnc\fnc.php on line 48Essa fnc é a minha página de conexãoObrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

não da para tirar esse free result caso contrário não funcionaele faz parte do conectoreu uso classe de conexãotipo$teste = new conexao();$teste->query("select..............");

Compartilhar este post


Link para o post
Compartilhar em outros sites

já encontrei o erro... o erro esta no query... coloca assim o query:SELECT * FROM loja_comerb WHERE nome_loja LIKE '%$nomeloja_busca%' AND sec_loja LIKE '%$categoria_busca%' ORDER BY id_loja ASC

Compartilhar este post


Link para o post
Compartilhar em outros sites

carabelezafuncionou tudimsó tenho um problemasempre vai aparecer um nome eu precisava mais que aparecesse a inicialtipopq por exemploeu tenho duas lojas cadastradasuma com nomeharsoutra com nome henriquese eu boto o nome H la na buscafunciona mas acaba mostrando apenas uma loja, pq o n vai ter valor de nome completo, ou seja, vai aparecer ou hars ou henrique e não os dois entende

Compartilhar este post


Link para o post
Compartilhar em outros sites

porque você colocou ELECT * FROM loja_comerb WHERE nome_loja LIKE '%$nomeloja_busca%' AND sec_loja LIKE '%$categoria_busca%' ORDER BY id_loja ASC

 

A categoria não deve ser a mesma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

caraestava olhando aquise eu usar'%$nome%' teria que pegar caso contenha a variavelmas por exemploeu tenho duas lojas q começam com a letra hse a pessoa digita apenas o h , aparece somente a ultima loja cadastradaai q ta o prob, era para aparecer todas que começam com h

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.