Tipo, não entendo muito de PHP e mySQL, mas to tentando (fuçando), fazer uma busca em um sistema de fotos que eu tenho aqui. Lendo alguns tutos, vendo outros códigos e tals..
Deu certo, Ele ta me retornando certo o que eu peço, mas agora queria evoluir e colocar mais uma coisa, aí que complicou... Queria colocar uma lista de opções, de onde buscar (drop down), Aì a pessoa ia escolher se a palavra que ela procura seria em "nome do evento", local ou nome fo fotógrafo.
Fiz o código da seguinte forma então:
form.php
<form action="consulta.php" method="post"> <p> <input name="localizacao" type="text"> <select name="campo"> <option selected>Buscar por</option> <option value="nome">Nome do evento</option> <option value="local">Local</option> <option value="fotografo">Fotógrafo</option> </select> <input type="submit" name="Submit" value="ok"> </p> </form>
Antes tava igual, só que sem o "select".
consulta.php
<? function conectar($dbNome) { $db = mysql_connect("localhost","user do bd","senha do bd");("domain","login","password") mysql_select_db($dbNome); if (!$db) { echo("Erro de conexão ".mysql_error()."\n"); exit; } } function bg_cell($contador) { $resto = $contador % 2; if ($resto == '1') echo "#EEEEEE"; else echo "#DDDDDD"; } $dbNome = "nome do bd"; conectar($dbNome); $sql = "select * from $campo where nome = '$localizacao'"; $result = mysql_query ($sql); ?> <head> </head> <body> <?php $contador = '1'; while ( $valor = mysql_fetch_array($result) ) { ?> """aki o html, com "echo" para as partes que eu quero exibir o resultado""" <?php $contador++; } ?>
Bom, ele acusa o seguinte erro:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/gdhost/public_html/rioclick/busca/consulta.php on line 55
Na linha 55 aqui tem:
while ( $valor = mysql_fetch_array($result) )
Mas eu não acredito que venha realmente daí o erro, por que se não não funcionaria quando estava normal o código, acho que está no:
$sql = "select * from $campo where nome = '$localizacao'";
Antes eu colocava no lugar de "campo", o nome do campo do bd mesmo, e dava certo. Já tentei '$campo'..
Por isso acho que o erro está no form, não sei se é assim que se faz, dando o nome, e o "value" com o nome dos campos do bd...
Se alguém puder me ajudar nisso, agradeço..
Ah, também queria saber como se faz para ele buscar parte de palavras, e desconsiderando maiúsculo e minúsculo, tipo:
No bd ta: "São Thomé"
O cara busca: "são", e queria que encontrase o são thomé...
Ah, só por curiosidade: Não entendi a função desse "contador" no código.. : / Vi que a cada verificação ele soma 1, mas pra que ? imaginei que seria para não repetir resultados, é isso mesmo ? : /
Falow !