Hallo Christoph,
danke, es funktioniert.
Allerdings läuft etwas nicht mehr richtig! Die Suchmaschine spukt nicht alle Einträge aus, die passen würden. Und dann auf einmal in umgekehrter Reihenfolge. Und sucht auch nicht mehr das ganze Wort, sondern bringt auch Einträge, in denen die Suchbegriffe nur enthalten sind.
Irgendetwas ist durcheinander gekommen, aber ich verstehe nicht genügend, um den Fehler zu finden.
Könntest Du mal drauf schauen? Ich habe unten den ganzen Code kopiert.
Danke
Angelika
<style type="text/css">
<!--
body {background-color:#fff8f0}
h1 {font-size:18 pt}
table {font-size:12 pt}
p, li {font-size:14 pt;
bgcolor=fff8f0;
font-family:"garamond";
letter-spacing:0.2 mm;}
//-->
</style>
<html><head><title></title></head>
<body bgcolor=fff8f0>
<font face="garamond" size=4>
<h1 align=center>SUCHE IM ALPHABETISCHER KATALOG</h1>
<p> Geben Sie bitte Ihren Suchbegriff ein. Falls Sie 2 oder mehre Suchbegriffe benützen wollen, setzen Sie bitte vor jeden Suchbegriff ein + ohne nachfolgende Leertaste. Suchen Sie z.B. Viktor Mann "Wir waren fünf", dann könnten Sie eingeben: +Vikor +Mann +fünf.</p>
<p>Um die Suchgeschwindigkeit zu erhöhen, werden jeweils 2.500 Datensätze durchsucht. Um weitere 2.500 Datensätze zu durchsuchen, klicken Sie bitte auf "Suche in weiteren Datensätzen" bzw. "Suche nach weiteren Treffern"</p>
<form action='baseportal.pl?htx=$htx' method='post' enctype='multipart/form-data'><input type='hidden' name='htx=' value='$htx'>Volltextsuche: <input type='text' name='_fullsearch==' value='$_fullsearch'><input type='submit' value='Suchen'></form>
<perl>
return if $_fullsearch eq "";
get "fullsearch_match=20";
while(get_next("buecher_abc"))
{
$out= <<EOF;
<b>$a</b><br>$b - $c<p>
EOF
$out=~ s#$_fullsearch_regex#<b><font color=red>$1</font></b>#g;
out $out;
}
my $newrange=$_fullsearch_range+$_fullsearch_range_length;
my $txt;
if($_fullsearch_match_pos<$newrange)
{
$txt="Suche nach weiteren Treffern";
$newrange=$_fullsearch_match_pos;
}
else
{
$txt="Suche in weiteren Datensätzen";
}
if($newrange<$_amount_all)
{
out "Es wurde noch nicht in allen Datensätzen gesucht: ";
out "<a href=\"baseportal.pl?htx=$htx&_fullsearch~~".convert_url($_fullsearch). "&fullsearch_range=$newrange,$_fullsearch_range_length&go=weiterer\">$txt</a>";
}
else
{
out "Die Datenbank wurde komplett durchsucht.";
out "<b> Kein $go Treffer!</b><p>" if $_fullsearch_amount<1;
}
</perl>
<p>Die Ergebnisse werden unten ausgegeben</p>
<center>
<FONT SIZE="2"></font><p>
<table width=80% border=0 cellspacing=0 cellpadding=10>
<tr><td>
<font face="garamond" size=7>
<br>
<center>
<p>
</center>
<perl>
$_sel[2]=~ s/(^|\s+)/$1+/g if $_sel[2] ne "";
</perl>
<do action=all dataface=garamond spacing=10 databack=fff8f0 gridcolor=fff8f0 border=0 headalign=middle datasize=3 range^=0,100 pagebrowse=bottom buttonbrowse=bottom listtype=list input=link>
<br>
</td></tr></table>
<p><FONT SIZE="2"></font>
</center>
<p>