Pessoal estou com um problema tenho este código de busca interna que já esta em funcionamento mas gerou um problema ele não divide ou seja não gera uma nova pagina após ex: 15 resultados.
O que ele faz e postar todos em um único lugar.
Será que da pra arrumar e fazer com que ele a cada 15 resultados gere uma nova pagina.
Certo este script acima pode rodar em PHP em HTML em ASP em fim ele esta rodando normal sem erro algum – o que eu queria e acrescentar mais um comando, ou seja limitar a pesquisa e dividi-la.
Question
pollmix
Pessoal estou com um problema tenho este código de busca interna que já esta em funcionamento mas gerou um problema ele não divide ou seja não gera uma nova pagina após ex: 15 resultados.
O que ele faz e postar todos em um único lugar.
Será que da pra arrumar e fazer com que ele a cada 15 resultados gere uma nova pagina.
Certo este script acima pode rodar em PHP em HTML em ASP em fim ele esta rodando normal sem erro algum – o que eu queria e acrescentar mais um comando, ou seja limitar a pesquisa e dividi-la.
O codigo e esse:
<script language="">
function kw_list ()
{
this.keywords = new Array ();
this.num_words = 0;
this.query = "";
this.original_query = "";
this.query_length = 0;
this.possible_points = 0;
this.multiple = points_title + points_keywords + points_description;
this.get_words = get_query;
this.no_query = no_query_found;
}
function get_query ()
{
this.query = top.location.search.substring (top.location.search.indexOf ('=') + 1);
while ((the_plus = (this.query.indexOf ("+", 0))) != -1)
{
this.query_length = this.query.length;
this.query = this.query.substring (0, the_plus) + " " + this.query.substring (the_plus + 1);
}
this.original_query = unescape (this.query);
this.query = this.original_query.toLowerCase ();
this.query_length = this.query.length;
if (this.query != "")
{
var query_pointer = 0;
var end_word = 0;
var at_end = 0;
while ((this.num_words <= (max_keywords - 1)) && (! at_end))
{
end_word = this.query.indexOf (" ", query_pointer);
if (end_word == query_pointer)
query_pointer++;
else
{
if (end_word >= (this.query_length - 1))
at_end = 1;
if (end_word != -1)
this.keywords[this.num_words] = (this.query.substring (query_pointer, end_word)).toLowerCase ();
else
{
this.keywords[this.num_words] = this.query.substring (query_pointer, this.query_length);
at_end = 1;
}
this.num_words++;
if (query_pointer != -1)
query_pointer = end_word + 1;
if (query_pointer > (this.query_length - 1))
at_end = 1;
}
}
if (this.num_words == 0)
return (0);
else
{
this.possible_points = this.multiple * this.num_words;
return (1);
}
}
else
return (0);
}
function no_query_found ()
{
document.writeln ('<link rel="stylesheet" href="gp.css">');
document.writeln ('<CENTER><P></P></CENTER>');
}
function entry (url, title, keywords, description)
{
this.url = url;
this.title = title;
this.keywords = keywords;
this.description = description;
this.points = 0;
this.search_entry = find_keyword;
this.print_entry = print_result;
}
function find_keyword (the_word)
{
var the_title = this.title.toLowerCase ();
var the_keywords = this.keywords.toLowerCase ();
var the_description = this.description.toLowerCase ();
if ((the_title.indexOf (the_word)) != -1)
this.points += points_title;
if ((the_keywords.indexOf (the_word)) != -1)
this.points += points_keywords;
if ((the_description.indexOf (the_word)) != -1)
this.points += points_description;
}
function print_result (possible_points)
{
document.writeln ('<A target="_self" HREF="' + this.url + '" target="meio">' + this.title + '</A> - ' + this.description + '<br>');
}
function no_entry_printed (the_query)
{
document.writeln ('<link rel="stylesheet" href="gp.css">');
document.writeln ("<CENTER><P> Não há ocorrencia da palavra <U><B>" + the_query + "</B></U>.</P></CENTER>");
}
function print_intro (the_query)
{
document.writeln ("<CENTER><P>Os resultados da pesquisa por <U><B>" + the_query + "</B></U> são:</P></CENTER>");
}
function begin_search ()
{
var key_list = new kw_list;
var entry_printed = 0;
if (! key_list.get_words ())
key_list.no_query ();
else
{
var counter = 0;
var counter2 = 0;
for (counter = 0; counter < entry_num; counter++)
for (counter2 = 0; counter2 <= (key_list.num_words - 1); counter2++)
the_entries[counter].search_entry (key_list.keywords[counter2]);
for (counter = key_list.possible_points; counter > 0; counter--)
{
for (counter2 = 0; counter2 < entry_num; counter2++)
{
if (counter == the_entries[counter2].points)
{
if (entry_printed != 1)
{
entry_printed = 1;
print_intro (key_list.original_query);
}
the_entries[counter2].print_entry (key_list.possible_points);
}
}
}
if (! entry_printed)
no_entry_printed (key_list.original_query);
}
}
the_entries = new Array ();
//aqui vai as entradas para a pesquisa
the_entries[0] = new entry ("http://url", " <IMG SRC=image.jpg> Detalhe", "palavra chave, ", "descrição.<br>");
the_entries[1] = new entry ("http://url", " <IMG SRC=image.jpg> Detalhe", "palavra chave, ", "descrição.<br>");
//abaixo vai o número de entradas existentes
var entry_num = 2; //aumenta de acordo com as obcoes de busca no caso 2 ate agora
var max_keywords = 2; //aumenta de acordo com as obcoes de busca no caso 2 ate agora
var points_title = 2; //aumenta de acordo com as obcoes de busca no caso 2 ate agora
var points_keywords = 2; //aumenta de acordo com as obcoes de busca no caso 2 ate agora
var points_description = 1;
begin_search ();
</script>
</script>
<body>
</div>
</div>
</div>
<p>
Link to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.