Jump to content

Indexar keywords de pesquisa


bonucci
 Share

Recommended Posts

Boas pessoal, eu ando aqui a criar um search engine no meu site que é bem facil, mas neste search engine gostaria de ter um toque especial, que seria armezanar as keywords que foram pesquisadas no banco de dados.

Alguem me pode-me dar uma luz nisso

Ficam bem

Link to comment
Share on other sites

Como eu faria.

$query = mysql_query("SELECT keyword FROM keywords WHERE keyword = \"".$_POST["campo_de_pesquisa"]."\"");
if (mysql_num_rows($query) == 0){
    $query = mysql_query("INSERT INTO keywords (keyword, number) VALUES (\"".$_POST["campo_da_pesquisa"]."\", 1)");
} else {
    $query = mysql_query("SELECT number FROM keywords WHERE keyword = \"".$_POST["campo_da_pesquisa"]."\"");
    
    $query = mysql_query("UPDATE keywords SET number = ".mysql_result($query) + 1." WHERE keyword = \"".$_POST["campo_da_pesquisa"]."\"");
}

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Link to comment
Share on other sites

Tou a ver, e so mais uma informaçao, esse codigo, devo inserilo na pagina do motor de pesquisa ou na pagina do resultado do motor de pesquisa?? tenho duas paginas a primeira é o pesquisa.php e depois outra que é o resultado.php.

Suponho que meta na pagina do motor de pesquisa??

Link to comment
Share on other sites

pois, foi o que fiz, mas acabei de criar no phpmyadmin uma tabela chamada "campo_da_pesquisa" tendo dois campos, o "id_campo_da_pesquisa" e o "campo_da_pesquisa", mas não me aparece depois de submeter a pesquisa a palavra na tabela :S

Link to comment
Share on other sites

Acho que sei qual podera ser o problema, eu criei no uma tabela com nome "campo_da_pesquisa", até agora ta tudo bem aí, pois no codigo que me mandaste das o nome da tabela "campo_da_pesquisa", agora na tabela meti duas colunas, que foi a "id_campo_da_pesquisa" e a "campo_da_pesquisa", se é qeu tou a ver bem, deste o nome da coluna no teu codigo de "keywords", talvez o motivo de não me aparecer nada na minha base de dados talvez seja pelo facto de o nome da minha coluna tar mal, certo???

Lamento pela noob question, n sou nenhum php pro :S

Link to comment
Share on other sites

<?php require_once('Connections/ligacao.php'); ?>
<?php
$query  = mysql_query("SELECT keyword FROM campo_da_pesquisa WHERE keyword = \"".$_POST["campo_de_pesquisa"]."\"");
if (mysql_num_rows($query) == 0){
    $query = mysql_query("INSERT INTO keywords (keyword, number) VALUES (\"".$_POST["campo_da_pesquisa"]."\", 1)");
} else {
    $query = mysql_query("SELECT number FROM campo_da_pesquisa WHERE keyword = \"".$_POST["campo_da_pesquisa"]."\"");
   
    $query = mysql_query("UPDATE keywords SET number = ".mysql_result($query) + 1." WHERE keyword = \"".$_POST["campo_da_pesquisa"]."\"");
}

?>

A tabela chamasse "campo_da_pesquisa" tendo duas colunas uma que é a "id_campo_da_pesquisa" autoincremento e a outra coluna que é "campo_da_pesquisa" varchar.

Se souberem o problema ajudava muito :S

Link to comment
Share on other sites

Tens de criar uma coluna chamada number, que seja tinyint. 🙂

E coloca este código.

<?php require_once('Connections/ligacao.php'); ?>
<?php
$query  = mysql_query("SELECT keyword FROM campo_da_pesquisa WHERE campo_da_pesquisa = \"".$_POST["campo_de_pesquisa"]."\"");
if (mysql_num_rows($query) == 0){
    $query = mysql_query("INSERT INTO campo_da_pesquisa (campo_da_pesquisa, number) VALUES (\"".$_POST["campo_da_pesquisa"]."\", 1)");
} else {
    $query = mysql_query("SELECT number FROM campo_da_pesquisa WHERE campo_da_pesquisa = \"".$_POST["campo_da_pesquisa"]."\"");
   
    $query = mysql_query("UPDATE campo_da_pesquisa SET number = ".mysql_result($query) + 1." WHERE keyword = \"".$_POST["campo_da_pesquisa"]."\"");
}

?>

E diz qual é o id da textbox onde digitas o texto? Tens de meter esse id dentro das variáveis $_POST. 🙂

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Link to comment
Share on other sites

<?php require_once('Connections/ligacao.php'); ?>
<?php
$query  = mysql_query("SELECT keyword FROM campo_da_pesquisa WHERE campo_da_pesquisa = \"".$_POST["criterio"]."\"");
if (mysql_num_rows($query) == 0){
    $query = mysql_query("INSERT INTO campo_da_pesquisa (campo_da_pesquisa, number) VALUES (\"".$_POST["criterio"]."\", 1)");
} else {
    $query = mysql_query("SELECT number FROM campo_da_pesquisa WHERE campo_da_pesquisa = \"".$_POST["criterio"]."\"");
   
    $query = mysql_query("UPDATE campo_da_pesquisa SET number = ".mysql_result($query) + 1." WHERE keyword = \"".$_POST["criterio"]."\"");
}

?>

Estranho diz que tenho um erro na linha dez, que é o ultimo query.

P.S. o id da text box tb pode ser o name certo?

Link to comment
Share on other sites

Sim pode ser o name.

Estranho ele dar erro. Tenta assim:

<?php require_once('Connections/ligacao.php'); ?>
<?php
$query  = mysql_query("SELECT keyword FROM campo_da_pesquisa WHERE campo_da_pesquisa = \"".$_POST["criterio"]."\"");
if (mysql_num_rows($query) == 0){
    $query = mysql_query("INSERT INTO campo_da_pesquisa (campo_da_pesquisa, number) VALUES (\"".$_POST["criterio"]."\", 1)");
} else {
    $query = mysql_query("SELECT number FROM campo_da_pesquisa WHERE campo_da_pesquisa = \"".$_POST["criterio"]."\"");
    $next = mysql_result($query) + 1;
    $query = mysql_query("UPDATE campo_da_pesquisa SET number = ".$next." WHERE keyword = \"".$_POST["criterio"]."\"");
}
?>

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Link to comment
Share on other sites

Agora Deume este erro

Notice: Undefined index: criterio in C:\wamp\www\bonucci\pesquisa.php  on line 4

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\bonucci\pesquisa.php on line 5

Notice: Undefined index: criterio in C:\wamp\www\bonucci\pesquisa.php on line 6

A linha 4,5 e 6 é do primeiro query ate ao segundo query

Link to comment
Share on other sites

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
 Share

×
×
  • 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.