Ir para conteúdo
Fórum Script Brasil
  • 0

pequeno sistema de busca


Diogo Freitas

Pergunta

estou a tentar fazer um pequeno sistema de busca, ou melhor, pretendo ir buscar e apresentar informações requisitadas pelo user.

<div id="procura">
        <form action="" method="get">
        <input name="procurar" type="text" /><input name="procurar" type="button" value="procurar" />
        </form>
        </div>
                <div id="videos_titulo"><span class="link-paginas">
                
                    
<?php

require "conectdbmusica.php";

$palavra = $_POST['procurar'];
$sql = ("SELECT banda FROM musica WHERE banda LIKE '%".$_POST['procurar']."%'");

while($dds = mysql_query($sql)) { 

        print "<strong><a href='bg.php?id={$dds['id_banda']}'>{$dds['banda']}</a></strong> - {$dds['musica']}<br/>";
        print "{$dds['palavras']}<br/>";
        print "{$dds['data']}<p>";
}

?>

o que acontece com este código é que mesmo não dando erro, aparecem infinitos traços e nenhuma informação. Por outro lado, a página não termina a busca.

o que poderá estar mal no código?

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

o erro na exibição dos resultados era porque tu tava fazendo a query mas tu queria lista os itens encontrados direto da query,

e isso não da, a forma de listagem que tu ta usando seria pelo mysql_fetch_array(), que foi adicionado no teu codigo nesse reajuste que eu fiz.

<div id="procura">
     <form action="" method="get">
            <input name="procurar" type="text" />
            <input name="procurar" type="button" value="procurar" />
     </form>
        </div>
                <div id="videos_titulo"><span class="link-paginas">
                
                    
<?php

require "conectdbmusica.php";

$palavra = $_POST['procurar'];
$sql = ("SELECT banda FROM musica WHERE banda LIKE '%".$_POST['procurar']."%'");
$query = mysql_query($sql);
while($dds = mysql_fetch_array($query)) {
     print "<strong><a href='bg.php?id={$dds['id_banda']}'>{$dds['banda']}</a></strong> - {$dds['musica']}<br/>";
     print "{$dds['palavras']}<br/>";
     print "{$dds['data']}<p>";
}

?>

Editado por Diego.G.A
Link para o comentário
Compartilhar em outros sites

  • 0

tenta verificar como esta sendo construído a tua consulta sql,

faz o seguinte coloca um exite depois do sql tipo

$sql = (...);
exit($sql);

e altera o nome do botão para btprocurar, talvez seja este o problema

tira isso

<input name="procurar" type="text" />

<input name="procurar" type="button" value="procurar" />

e coloca isso

<input name="procurar" type="text" />

<input name="btprocurar" type="button" value="procurar" />

Link para o comentário
Compartilhar em outros sites

  • 0

bem, mudei o sistema de forma a este ficar mais completo.

agora, é o seguinte, se eu colocar por exemplo "led" aparece as bandas com nome "led" mas se colocar outro nome qualquer não aparece. :(

o que tá mal?

<?php

if(!isset($_GET['procurar']) || $_GET['procurar'] == ”) {
echo 'Procure por alguma coisa!';
exit;
}

mysql_connect('localhost', 'musica', '240490');
mysql_select_db('musica');

$_GET['procurar'] = strip_tags(trim($_GET['procurar']));

$resultados = array();

//banda
$fullbanda = explode(' ', $_GET['procurar']);
$sqlfull = '';
foreach($fullbanda as $value) {
$sqlfull .= '+'.$value.' ';
}
$getfullbanda = mysql_query("SELECT * FROM musica WHERE MATCH(banda) AGAINST('$sqlfull' IN BOOLEAN MODE)");

if(mysql_num_rows($getfullbanda) == 0) {
$getlikebanda = mysql_query("SELECT * FROM musica WHERE banda LIKE '$_GET[procurar]%'");

while($r = mysql_fetch_array($getlikebanda)) {
if( !in_array($r['id'], array_keys($resultados)) )
$resultados[$r['id']] = $r;
}
}

//musica
$fullmusica = explode(' ', $_GET['procurar']);
$sqlfull = '';
foreach($fullmusica as $value) {
$sqlfull .= '+'.$value.' ';
}
$getfullmusica = mysql_query("SELECT * FROM musica WHERE MATCH(musica) AGAINST('$sqlfull' IN BOOLEAN MODE)");

if(mysql_num_rows($getfullmusica) == 0) {
$getlikemusica = mysql_query("SELECT * FROM musica WHERE musica LIKE '$_GET[procurar]%'");

while($r = mysql_fetch_array($getlikemusica)) {
if( !in_array($r['id'], array_keys($resultados)) )
$resultados[$r['id']] = $r;
}
}


echo 'Consulta por: '.$_GET['procurar'].'<br/>'.
'Número de resultados : '.count($resultados).'<p>';

foreach($resultados as $dds) {
print "<strong><a href='bg.php?id={$dds['id_banda']}'>{$dds['banda']}</a></strong> - {$dds['musica']}<br/>";
print "{$dds['palavras']}<br/>";
print "{$dds['data']}<p>";
}

?>

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...