Volltextsuche für 4.4.4

Aixtraweb
Beiträge: 100
Registriert: Do 23. Sep 2004, 10:55
Wohnort: Herzogenrath
Kontaktdaten:

Volltextsuche für 4.4.4

Beitrag von Aixtraweb » Di 2. Nov 2004, 21:35

Hallo,

ich habe bis jetzt noch keine Volltextsuche funktionierend hinbekommen:

Ich habe folgende gefunden:

Volltextsuche
INPUT

Code: Alles auswählen

$linktarget = "CMS_VALUE[1]";
$extratext = "CMS_VALUE[2]";

if($linktarget == "") {
   $linktarget = "_self";
}
if($extratext == "") {
   $extratext = 0;
}
?>
<table>
   <tr>
      <td>Linktarget</td>
      <td>
         <select name="CMS_VAR[1]">
            <option value="_self"<? if(strcmp("_self", $linktarget) == 0) echo " selected"; ?>>gleiches Fenster (_self)</option>
            <option value="_new"<? if(strcmp("_new", $linktarget) == 0) echo " selected"; ?>>neues Fenster (_new)</option>
         </select>
      </td>
   </tr>
   <tr>
      <td>Zusätzlicher Text zum Artikellink</td>
      <td>
         <select name="CMS_VAR[2]">
            <option value="0"<? if($extratext == 0) echo " selected"; ?>>kein zusätzlicher Text</option>
            <option value="1"<? if($extratext == 1) echo " selected"; ?>>Artikelkommentar</option>
            <option value="2"<? if($extratext == 2) echo " selected"; ?>>Anfang des Artikeltextes</option>
         </select>
      </td>
   </tr>
</table>
<? 
OUTPUT

Code: Alles auswählen

<?php
//$linkziel = "front_content.php?idcat=35";
$linkziel = $auth->url();

$ignore_konj = array("und","oder","als","wenn","auch","wo","wie");
$ignore_art = array("der","die","das","ein","eine");
$ignore = array("ich","du","er","sie","es","wir","ihr","sie");

$extratextLength = 200;


$suchtext = $_POST["suchtext"];
?>

<form name="suche" action="<?= $linkziel ?>" method="post">
   <table>
      <tr>
         <td><input name="suchtext" type="text" size="20" value="<?= $suchtext ?>"></td>
         <td><input name="submit" type="submit" value="suchen" class="button"></td>
      </tr>
   </table>
</form>

<?php
$linktarget = "CMS_VALUE[1]";
$extratext = "CMS_VALUE[2]";

/* DB Instances */
$db = new DB_Contenido;
$db2 = new DB_Contenido;

/* Template Instance */
include_once($cfg["path"]["contenido"] . "/classes/class.template.php");
$tpl = new Template;


if($suchtext != "") {
   while(ereg('  ', $suchtext)) {
      $suchtext = ereg_replace('  ', ' ', $suchtext);
   }
   $suchliste = explode(" ", strtolower($suchtext));
   $suchliste = array_diff($suchliste, $ignore_konj, $ignore_art, $ignore);
   $suchtext = trim(implode(" ", $suchliste));

   if($verknuepfung == "oder") {
      $suchregexp = "(" . str_replace(" ", ")|(", $suchtext) . ")";
      $s = ereg_replace("ü", "%FC", strtolower($suchtext));
      $s = ereg_replace("ä", "%E4", $s);
      $s = ereg_replace("ö", "%F6", $s);
      $suchregexp .= "|$s";
      $sql =   "SELECT " .
               "A.title AS title, " .
               "A.idart AS idart, " .
               "A.summary AS comment, " .
               "B.idcat AS idcat, " .
               "D.value AS content, " .
               "A.idartlang AS sideid " .
            "FROM " .
               $cfg["tab"]["art_lang"] . " AS A, " .
               $cfg["tab"]["cat_art"] . " AS B, " .
               $cfg["tab"]["cat"] . " AS C, " .
               $cfg["tab"]["content"] . " AS D " .
            "WHERE " .
               "A.idart = B.idart " .
               "AND A.idartlang = D.idartlang " .
               "AND B.idcat = C.idcat " .
               "AND C.idclient = '$client' " .
               "AND idlang = '$lang' " .
               "AND online='1' " .
               "AND (D.value REGEXP '" . $suchregexp . "' " .
                  "OR A.title REGEXP '" . $suchregexp . "' " .
                  "OR A.summary REGEXP '" . $suchregexp . "')";
   } // end if($verkuepfung)
   else {
      $sql =   "SELECT " .
               "A.title AS title, " .
               "A.idart AS idart, " .
               "A.summary AS comment, " .
               "B.idcat AS idcat, " .
               "D.value AS content, " .
               "A.idartlang AS sideid " .
            "FROM " .
               $cfg["tab"]["art_lang"] . " AS A, " .
               $cfg["tab"]["cat_art"] . " AS B, " .
               $cfg["tab"]["cat"] . " AS C, " .
               $cfg["tab"]["content"]." AS D " .
            "WHERE " .
               "A.idart = B.idart " .
               "AND A.idartlang = D.idartlang " .
               "AND B.idcat = C.idcat " .
               "AND C.idclient = '$client' " .
               "AND idlang = '$lang' " .
               "AND online = '1'";
               
      while(list($key, $val) = each($suchliste)) {
         $suchregexp = "(" . str_replace(" ", ")|(", $val) . ")";
         $s = ereg_replace("ü", "%FC", strtolower($val));
         $s = ereg_replace("ä", "%E4", $s);
         $s = ereg_replace("ö", "%F6", $s);
         $suchregexp .= "|$s";
         $sql .=    " AND (D.value REGEXP '" . $suchregexp . "' " .
                     "OR A.title REGEXP '" . $suchregexp . "' " .
                     "OR A.summary REGEXP '" . $suchregexp . "')";
      } // end while
      reset($suchliste);
   } // end else($verknuepfung)
   
   $db->query($sql);
   
   if($db->num_rows() != 0){
      while($db->next_record()) {
         if ($auth->auth["uid"] == "nobody"){
            $sql2 =   "SELECT " .
                     "public " .
                  "FROM " .
                     $cfg["tab"]["cat_lang"] . " " .
                  "WHERE " .
                     "idcat = '" . $db->f("idcat") . "'";
            $db2->query($sql2);
            
            if($db2->next_record()) {
               if($db2->f("public") == 0) {
                  continue;
               } // end if(public)
            } // end if(next_record)
         } // end if(auth nobody)
         
         $num = 0 + $db->f("sideid");
         $results[$num][link] = "front_content.php?" .
                              "client=" . $client .
                              "&lang=" . $lang .
                              "&idcat=" . $db->f("idcat") .
                              "&idart=" . $db->f("idart");
         $results[$num][title] = $db->f("title");
         
//anzuzeigenden Text ermitteln
switch($extratext) {
   case 0:
      $results[$num][text] = "";
      break;
   case 1:
      $results[$num][text] = nl2br($db->f("comment"));
      break;
   case 2:
      $results[$num][text] = capiStrTrimSentence(strip_tags(urldecode($db->f("content")), "<br><br/><br />"), $extratextLength) . "...";
      $results[$num][text] = nl2br($results[$num][text]);
      break;
} // end switch
// unnötige Zeilenumbrüche entfernen
$results[$num][text] = preg_replace("/(?s)^(\<br(.?)(\/?)\>(\\r\\n)?(\&nbsp;|\040)*)+/", "", $results[$num][text]);
$results[$num][text] = preg_replace("/(?s)(\<br(.?)(\/?)\>(\\r\\n)?(\&nbsp;|\040)*)+/", "<br />", $results[$num][text]); 
         
         while(list($key, $val) = each($suchliste)) {
            $hits[$num] +=   substr_count(strtolower(strip_tags(urldecode($db->f("title")))), $val) +
                        substr_count(strtolower(strip_tags(urldecode($db->f("comment")))), $val) +
                        substr_count(strtolower(strip_tags(urldecode($db->f("content")))), $val);
         } // end while
         
         reset($suchliste);
      } // end while(next_record)
   
      if(count($hits) > 0) {
         //anzahl hits speichern
         $anzahlhits = count($hits);
                   
         $hits = array_values($hits);
         $results = array_values($results);
         array_multisort ($results, SORT_DESC, SORT_NUMERIC, $hits, SORT_DESC, SORT_NUMERIC);
         
      } // end if(count hits)
   } // end if(num_rows)


   //Ausgabe-----------------
   
   /* Start Output buffer */
   ob_start();

   if(count($hits) > 0) {
      $tpl->reset();
      $tpl->set('s', 'SUCHTEXT', $suchtext);
      $tpl->set('s', 'TREFFER', $anzahlhits);
      
      for($i = 0; $i < count($hits); $i++) {
         $tpl->set('d', 'ARTIKELNAME', $results[$i][title]);
         $tpl->set('d', 'TARGET', $linktarget);
         $tpl->set('d', 'HREF',  $results[$i][link]);
         $tpl->set('d', 'TEXT',  $results[$i][text]);
         $tpl->next();
      }
      $tpl->generate('templates/search_found.html');
   } // end if(count hits)
   else {
      $tpl->reset();
      $tpl->set('s', 'SUCHTEXT', $suchtext);
      $tpl->generate('templates/search_notfound.html');
   } // end else (count hits)
} // end if(suchtext)

/* Read out buffer */
$html = ob_get_contents();

/* Clean buffer */
ob_end_clean();

/* Output buffer-contents */
echo $html;
?> 
Volltextsuche Formular
nur Output

Code: Alles auswählen

<?php 
$linkziel = "front_content.php?idcat=35"; 
//$linkziel = $auth->url(); 
?> 

<form name="suche" action="<?= $linkziel ?>" method="post"> 
   <table> 
      <tr> 
         <td align="center"><input name="suchtext" type="text" size="16"></td> 
      </tr>
      <tr>
         <td align="center"><input class="button" name="submit" type="submit" value="suchen"></td> 
      </tr> 
   </table> 
</form> 
Allerdings wie auch bei vielen anderen Volltextsuchen erhalte ich folgendes im ErrorLog:
[02-Nov-2004 21:31:13] PHP Warning: Cannot use a scalar value as an array in /home/httpd/vhosts/yogie.de/httpdocs/cms/front_content.php(563) : eval()'d code on line 752
[02-Nov-2004 21:31:13] PHP Warning: Cannot use a scalar value as an array in /home/httpd/vhosts/yogie.de/httpdocs/cms/front_content.php(563) : eval()'d code on line 752
[02-Nov-2004 21:31:13] PHP Warning: Cannot use a scalar value as an array in /home/httpd/vhosts/yogie.de/httpdocs/cms/front_content.php(563) : eval()'d code on line 752
[02-Nov-2004 21:31:13] PHP Warning: Cannot use a scalar value as an array in /home/httpd/vhosts/yogie.de/httpdocs/cms/front_content.php(563) : eval()'d code on line 752
[02-Nov-2004 21:31:13] PHP Warning: Cannot use a scalar value as an array in /home/httpd/vhosts/yogie.de/httpdocs/cms/front_content.php(563) : eval()'d code on line 752
[02-Nov-2004 21:31:13] PHP Warning: Cannot use a scalar value as an array in /home/httpd/vhosts/yogie.de/httpdocs/cms/front_content.php(563) : eval()'d code on line 752
[02-Nov-2004 21:31:13] PHP Warning: Cannot use a scalar value as an array in /home/httpd/vhosts/yogie.de/httpdocs/cms/front_content.php(563) : eval()'d code on line 752
[02-Nov-2004 21:31:13] PHP Warning: Cannot use a scalar value as an array in /home/httpd/vhosts/yogie.de/httpdocs/cms/front_content.php(563) : eval()'d code on line 752
[02-Nov-2004 21:31:13] PHP Warning: Cannot use a scalar value as an array in /home/httpd/vhosts/yogie.de/httpdocs/cms/front_content.php(563) : eval()'d code on line 752
[02-Nov-2004 21:31:13] PHP Warning: Cannot use a scalar value as an array in /home/httpd/vhosts/yogie.de/httpdocs/cms/front_content.php(563) : eval()'d code on line 752
[02-Nov-2004 21:31:13] PHP Warning: Cannot use a scalar value as an array in /home/httpd/vhosts/yogie.de/httpdocs/cms/front_content.php(563) : eval()'d code on line 752
[02-Nov-2004 21:31:13] PHP Warning: Argument to array_values() should be an array in /home/httpd/vhosts/yogie.de/httpdocs/cms/front_content.php(563) : eval()'d code on line 764
[02-Nov-2004 21:31:13] PHP Warning: Argument 4 to array_multisort() is expected to be an array or a sort flag in /home/httpd/vhosts/yogie.de/httpdocs/cms/front_content.php(563) : eval()'d code on line 766
Kann jemand damit was anfangen und helfen?

Ich benutze 4.4.4

Achso zur Ausgabe musste ich noch folgende Dateien anlegen und ins Template Verzeichnis schieben:

search_found.html

Code: Alles auswählen

<div> 
   Suchergebnisse für "<b>{SUCHTEXT}</b>" 
   <br> 
   Anzahl Treffer: <b>{TREFFER}</b> 
</div> 
<br> 
<!-- BEGIN:BLOCK --> 
<div> 
   <a href="{HREF}" target="{TARGET}"><b>{ARTIKELNAME}</b></a><br> 
   {TEXT} 
</div> 
<br> 
<!-- END:BLOCK --> 
search_notfound.html

Code: Alles auswählen

<p><div class="text"> 
Es wurden keine mit Ihrer Suchanfrage "<b>{SUCHTEXT}</b>" übereinstimmenden Dokumente gefunden 
</div> 
Das Komische an der ganzen Sache ist, dass die Volltextsuche mal funktioniert hatte, aber nach ziemlich vielen Änderungen an Layout und Kategorien und Strukturen funktionierte die Suche dann irgendwann nicht mehr :cry:
Mit freundlichen Grüßen
Jörg Knörchen

Meine Hobby-Webseite:
www.mein-foto-abc.de : contenido 4.6.15 - I love it! : www.yogie.de : www.bastelstun.de

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Di 2. Nov 2004, 22:57

tja, das Problem hatte ich auch, ich habe die Ursache nicht finden koennen, und daher gibt's bei mir immer noch keine Volltextsuche. :cry: Bin gespannt, ob sich vielleicht jetzt eine Loesung findet ...

Aixtraweb
Beiträge: 100
Registriert: Do 23. Sep 2004, 10:55
Wohnort: Herzogenrath
Kontaktdaten:

Keine Hilfe....

Beitrag von Aixtraweb » Mo 8. Nov 2004, 16:01

Hallo,

hat denn niemand eine Erklärung für die "Nichtfunktionierenden" Volltextsuchen :?: ?
Mit freundlichen Grüßen
Jörg Knörchen

Meine Hobby-Webseite:
www.mein-foto-abc.de : contenido 4.6.15 - I love it! : www.yogie.de : www.bastelstun.de

swelpot
Beiträge: 101
Registriert: Mo 26. Jul 2004, 20:42
Wohnort: Rhein-Main
Kontaktdaten:

Beitrag von swelpot » Mo 8. Nov 2004, 22:39

hi,

sorry, dass erst jetzt eine antwort kommt, nachdem ich dieses ding da irgendwann mal hier gepostet habe...
die gute, knappe zeit... ;-)

ich hab nochmal deinen geposteten code mit meinem verglichen. der ist identisch. ich habe aber keine probleme damit. (testweise: http://contenido.swelpot.de)
die fehlermeldung deutet eigentlich darauf hin, dass die variable $hits schonmal irgendwo verwendet wird (vielleicht in einem anderen m.odul!?)und deshalb nicht als array verwendet werden kann

versuchs mal mit einem

Code: Alles auswählen

unset($hits);
am scriptanfang...


grüße

stefan

Aixtraweb
Beiträge: 100
Registriert: Do 23. Sep 2004, 10:55
Wohnort: Herzogenrath
Kontaktdaten:

Beitrag von Aixtraweb » Di 9. Nov 2004, 06:12

swelpot hat geschrieben: versuchs mal mit einem

Code: Alles auswählen

unset($hits);
am scriptanfang...
Hallo Stefan,

ich sage nur herzlichen Dank! Genau das schien es gewesen zu sein! Es funktioniert wieder :lol:

Aber wo könnte die Variable 'hits' denn noch benutzt worden sein, vielleicht in meinem Statistikmodul!? Bingo!

Code: Alles auswählen

<?php
# Zeit in Sekunden bis neu gezählt wird
$online = "60";

# Die Datei in der die IP und zeit gespeichert werden
$datei = "useronline.dat";

$zeit = time();
$fp = fopen($datei, "r");
$daten = "";
$count = "1";
$online = $zeit - $online;

while($zeilen = fgets($fp, 1000)){
$zeilen = chop($zeilen);
$inhalt = explode("|", $zeilen);
if($inhalt[0] == $REMOTE_ADDR || $inhalt[1] < $online || $inhalt[0] == "")
continue;
$daten = "$inhalt[0]|$inhalt[1]\n";
$count++;
}
fclose($fp);

$daten .= "$REMOTE_ADDR|$zeit\n";
$fp = fopen($datei, "w");
flock($fp,1);
fwrite($fp, $daten);
flock($fp,3);
fclose($fp);
if ($count=="1") {
echo "$count User ist online<br>";
} else {
echo "$count User sind online<br>";
}

$sql = 'SELECT
            B.visited
        FROM
            '.$cfg['tab']['cat_art'].' AS A,
            '.$cfg['tab']['stat'].' AS B
        WHERE
            A.idcatart = B.idcatart AND
            A.idcatart = '.$idcatart;
$db->query($sql);

if ($db->next_record()) {
   $hits = $db->f('visited');
}

$sql = 'SELECT
            sum(C.visited) AS archived
        FROM
            '.$cfg['tab']['cat_art'].' AS A,
            '.$cfg['tab']['stat_archive'].' AS C
        WHERE
            A.idcatart = C.idcatart AND
            C.idcatart = '.$idcatart;
$db->query($sql);

if ($db->next_record()) {
   $hits = $hits + $db->f('archived');
}

echo "Diese Seite wurde bereits<br>$hits<br>mal abgerufen.";

?>

Funktioniert das nun nicht mehr? Oder kann das nicht sein? Sorry aber so eine Frage kommt wohl nur von einem PHP unwissenden!

Nochmals HERZLICHEN DANK!
Mit freundlichen Grüßen
Jörg Knörchen

Meine Hobby-Webseite:
www.mein-foto-abc.de : contenido 4.6.15 - I love it! : www.yogie.de : www.bastelstun.de

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Di 9. Nov 2004, 07:51

Danke, Stefan!
Aixtraweb hat geschrieben:Aber wo könnte die Variable 'hits' denn noch benutzt worden sein, vielleicht in meinem Statistikmodul!? Bingo!
Das gibt's doch nicht. :shock: Ich hatte schon recht, als ich sagte, dass meine Volltextsuche 'ueber Nacht' nicht mehr funktioniert hat, aber dass es die 'Nacht' war, als ich das Statistikmodul eingebaut habe ... da muss man erstmal darauf kommen. :oops: Ich habe das jetzt aber nicht mit 'unset($hits) sondern mit einem Umbenennen der $hits im Suchmodul geloest. Diese verfluchten Seiteneffekte ...

Jetzt kann ich mich dem anderen Problem bei Gelegenheit widmen: die Treffer aus News und dem Newsarchiv werden zwar angezeigt aber nicht gezaehlt. D.h. wenn ich nach etwas suche, was nur in den News auftaucht, steht in den Klammern '0 Treffer'. Stefan, du hast nicht zufaellig noch eine Idee, woran DAS nun liegen koennte?

Viele Gruesse
Christa

swelpot
Beiträge: 101
Registriert: Mo 26. Jul 2004, 20:42
Wohnort: Rhein-Main
Kontaktdaten:

Beitrag von swelpot » Di 9. Nov 2004, 11:43

hi zusammen,

schön, dass es geklappt hat.
natürlich ist christa's lösung die schönere... ;-), aber da ich mir nicht sicher war, ob die evtl. doppelte variable die ultimative lösung ist, wollte ich es erstmal auf die schnelle art und weise versuchen...

dann mal zur ersten frage:
nein, das unset() sollte eigentlich das andere modul nicht beeinflussen, da dort die ausgabe ja schon rausgeschrieben wurde. aber wie geschrieben, die verwendung eines anderen variablennamens ist sicherlich besserer stil...

@christa: hab mir den code nochmal angesehen und weiß echt nicht, woran so etwas liegen könnte. die ausgabe der treffer wird über die anzahl der treffer (count($hits)) geschleift. eigentlich düften bei 0 treffern auch keine resultate gezeigt werden...

vielleicht fällt mir nochwas ein...

grüße

stefan

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Di 9. Nov 2004, 19:09

Hi Stefan,
swelpot hat geschrieben:natürlich ist christa's lösung die schönere... ;-),
ob sie schoener ist, weiss ich nicht, ich habe einfach nur einen anderen Namen genommen, weil ich mir eben nicht sicher war, ob das andere Modul durcheinander kommt oder nicht. Problem ist, wenn ich die Suche noch woanders benutze, muss ich immer darauf achten, dass nicht irgendwelche woanders benutzten Variablen vorkommen, also ist die unset-Methode vielleicht doch sicherer. :wink:
swelpot hat geschrieben:@christa: hab mir den code nochmal angesehen und weiß echt nicht, woran so etwas liegen könnte. die ausgabe der treffer wird über die anzahl der treffer (count($hits)) geschleift. eigentlich düften bei 0 treffern auch keine resultate gezeigt werden...
Zur Illustration kannst du dir mal http://www.halchter.de/cms/front_content.php?idcat=100 angucken und dort nach "Stützer" (das ist unser Ortsbuergermeister :lol:) suchen. Da kommen einige Links raus, dahinter steht (0 Treffer), aber wenn du dir die Links anguckst, steht der Name durchaus auf der jeweiligen Seite. Vielleicht faellt dir etwas ein ...

Viele Gruesse
Christa

Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix » Di 9. Nov 2004, 20:24

Hi Christa,
ich vermute, dass das an den Umlauten liegt. Alle Stützer Treffer sind 0. Also wird richtig gesucht, aber nicht mehr richtig gezählt. Ich habe dass einmal mit dem wort grundsätzlich versucht, dass ich irgendwo im Text gefunden hatte, und da war das gleiche Ergebnis. Ein Test mit "ß" ging auch schief.

Vielleicht hilft es euch weiter.

Gruß
Florian

Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix » Di 9. Nov 2004, 20:30

Sorry, versehentlich 2 x auf send gedrückt
Zuletzt geändert von Beleuchtfix am Di 9. Nov 2004, 22:45, insgesamt 1-mal geändert.

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Di 9. Nov 2004, 22:29

Hallo Florian,

eine interessante Feststellung, die du da gemacht hast, allerdings kann ich damit nichts anfangen. Sprich, ich weiss nicht, wo dafuer der Ansatzpunkt ist, denn du hast das Problem zumindest eingegrenzt. Mir ist eingefallen, dass ich da nach meinem Namen gesucht habe, und da wurden die Treffer richtig angezeigt, hatte aber keine Zeit, das weiter zu verfolgen. Mit dem, was du sagst, passt es ja zusammen, denn mein Name enthaelt keine Umlaute. :lol:

Vielleicht faellt ja jemandem etwas ein. Aber danke schon mal fuer den Hinweis!

Gruss
Christa

Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix » Di 9. Nov 2004, 22:43

Und blos wegen der Webseite einen neuen Mann :wink:

swelpot
Beiträge: 101
Registriert: Mo 26. Jul 2004, 20:42
Wohnort: Rhein-Main
Kontaktdaten:

Beitrag von swelpot » Do 11. Nov 2004, 11:07

hi christa,

ich habe die vermutung, dass der fehler beim zählen der hits liegt:

Code: Alles auswählen

			while(list($key, $val) = each($suchliste)) { 
				$hits[$num] +=	substr_count(strtolower(strip_tags(urldecode($db->f("title")))), $val) + 
								substr_count(strtolower(strip_tags(urldecode($db->f("comment")))), $val) + 
								substr_count(strtolower(strip_tags(urldecode($db->f("content")))), $val); 
			} // end while
allerdings sollte dieser code funktionieren. habs bei mir auch nochmal ausprobiert.

schau doch mal, ob deiner wirklich exakt gleich ist...
es kommt auf das urldecode an. wenn das ausgelesene feld nicht umgewandelt wird, kann auch keine übereinstimmung mit dem suchwort gefunden werden, sobald sich in diesem sonderzeichen befinden...


grüße

stefan

epsi
Beiträge: 54
Registriert: Mi 5. Nov 2003, 13:56
Kontaktdaten:

Beitrag von epsi » Do 11. Nov 2004, 12:10

Ist es möglich das Modul unter der Hauptnavigation anzeigen zu lassen, die Suchergebnisse allerdings im Content?

Momentan habe ich das Modul unter der Hauptnavigation aber leider erscheinen die Ergebnisse ebenfalls darunter :?
Gruß
epsi

swelpot
Beiträge: 101
Registriert: Mo 26. Jul 2004, 20:42
Wohnort: Rhein-Main
Kontaktdaten:

Beitrag von swelpot » Do 11. Nov 2004, 12:31

schau mal im orginalthread:
http://www.contenido.de/forum/viewtopic.php?t=5540
Modul: Volltextsuche Formular
nur Output:

Code: Alles auswählen

<?php
$linkziel = "front_content.php?idcat=15";
//$linkziel = $auth->url();
?>

<form name="suche" action="<?= $linkziel ?>" method="post">
	<table>
		<tr>
			<td><span style="font-size: 15px">Suche&nbsp;</span></td>
			<td><input name="suchtext" type="text" size="20"></td>
			<td><input name="submit" type="submit" value="Go"></td>
		</tr>
	</table>
</form>

Gesperrt