Volltextsuche Ausgabe...

Gesperrt
project gonzo
Beiträge: 115
Registriert: Di 25. Nov 2003, 16:47
Kontaktdaten:

Volltextsuche Ausgabe...

Beitrag von project gonzo »

Moin,
hab mal wieder ein problem. Hab schon im Forum geschaut, aber werde daraus nicht schlau.
Benutze das Volltextsuche 1.1
Jetzt möcht ich die Sucheingabe in zum Bsp im Container 1 haben,
und die komplette Ausgabe (ergebnisse) in zum Bsp Container 2 haben, wie??? werd da nicht schlau draus...
project gonzo
Beiträge: 115
Registriert: Di 25. Nov 2003, 16:47
Kontaktdaten:

Beitrag von project gonzo »

keiner ne idee?
feiger_abweichler
Beiträge: 40
Registriert: Do 20. Nov 2003, 16:01
Wohnort: Deutscher Meister 2004 ;-)
Kontaktdaten:

Beitrag von feiger_abweichler »

keine ahnung, ob es funktioniert, aber ich würde es so angehen:

ein modul entwerfen mit dem suchbegriff-formular und in die entsprechenden seiten einbinden, z.b. unter oder neben der navigation.

den suchbegriff dann als variable an eine vorher erstellte extra seite zur darstellung der suchergebnisse übergeben.

da musst du ein bisschen an den modulen werkeln, sollte aber nicht so groß sein, der aufwand.

gruß, der abweichler
kuchi
Beiträge: 222
Registriert: So 29. Jun 2003, 18:02
Wohnort: Neubrandenburg
Kontaktdaten:

Suche

Beitrag von kuchi »

Hi,

hier das output für die Sucheingabe (input so wie Du es im Modul vorgefunden hast):

Code: Alles auswählen

<?php 
echo "<center>
<table width=\"140\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr><td align=\"left\"> 
<form name='suche' method='POST' action='front_content.php?idcat=39'>
<input type=\"text\" size=\"\" class=\"feld\" name=\"suche\" value=\"$suche\"></td></tr>
<tr><td align=\"left\" height=\"21\"> 
<button name=\"s\" type=\"submit\" value=\"Suchen\" size=\"2\" style=\"width: 100px;height:20px; color: white; border:0;background-color:#005500;\">Volltextsuche</button></FORM></td></tr></table>"; 
?>
Dafür machst Du ein Layout/Template!

Output für Suchausgabe:

Code: Alles auswählen

<?php
echo "<table border=0 cellpadding=0 cellspacing=0><tr>";
if($suche){
$suche = trim($suche);
$suchregexp = "(".str_replace(" ",")|(",$suche).")";
$s=ereg_replace("ü", "%FC",strtolower($suche));
$s=ereg_replace("ä", "%E4",$s);
$s=ereg_replace("ö", "%F6",$s);
$suchregexp .= "|$s";
$suchliste = explode(" ",strtolower($suche));

$sql = "SELECT
a.title AS title, a.idart AS idart, a.summary AS comment, a.idartlang AS idartlang,
b.idcat AS idcat,
c.parentid AS parentid,
d.value AS content
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')";

$db->query($sql);
if ($db->num_rows() != 0){
for ($i=0; $i<$db->num_rows(); $i++) {
$db->next_record();
if ($auth->auth["uid"] == "nobody"){
$sql2 = "SELECT public FROM ".$cfg["tab"]["cat_lang"]." WHERE idcat='".$db->f("idcat")."'";
$db2 = new DB_Contenido; $db2->query($sql2); $db2->next_record();
if($db2->f("public") == 0) continue;
};
$num = 0 + $db->f("idartlang");
$results[$num][link] = "front_content.php?client=$client&lang=$lang&parent=".$db->f("parentid")."&idcat=".$db->f("idcat")."&idart=".$db->f("idart")."";
$results[$num][title] = $db->f("title");
switch ("CMS_VALUE[2]") {
case 0: $results[$num][text] = "";break;
case 1: $results[$num][text] = $db->f("comment");break;
case 2: $results[$num][text] .= substr(strip_tags(rawurldecode($db->f("content"))),0,100)."...";
};
for($x=0;$x<count($suchliste);$x++){
$hits[$num] += substr_count(strtolower($db->f("title")), $suchliste[$x]) +
substr_count(strtolower($db->f("comment")), $suchliste[$x]) +
substr_count(strtolower($db->f("content")), $suchliste[$x]);
};
};
if(count($hits) > 0){
$hits = array_values($hits);
$results = array_values($results);
array_multisort ($results, SORT_DESC, SORT_NUMERIC, $hits, SORT_DESC, SORT_NUMERIC);
for ($i=0; $i<count($hits); $i++){
echo "<tr><td align=left bgcolor=\"#005500\"><font size=\"-1\"><a href=\"".$results[$i][link]."\" class='text'";
if("CMS_VALUE[3]"){echo "TARGET=\"CMS_VALUE[3]\" ";};
echo ">".$results[$i][title]."</a></font> <span class='text'>(".$hits[$i]." Treffer)<BR>";
echo $results[$i][text]."</span></td></tr>";
};
} else { echo "<tr><td class='text' align=center>Keine passenden Seiten gefunden</td></tr>"; };
} else { echo "<tr><td class='text' align=center>Keine passenden Seiten gefunden</td></tr>"; };
};
echo "</table>";
?>
Dafür machst Du auch ein Layout/Template! Und fertig.

Gruß kuchi
project gonzo
Beiträge: 115
Registriert: Di 25. Nov 2003, 16:47
Kontaktdaten:

Beitrag von project gonzo »

super, probier ich aus. danke schon mal....
project gonzo
Beiträge: 115
Registriert: Di 25. Nov 2003, 16:47
Kontaktdaten:

Beitrag von project gonzo »

moin, irgendwie geht das bei mir nicht so ganz.
Hab diese zwei Module erstellt, dafür ein Layout dafür gemacht, ein Template angelegt, aber bekomme keine Such ausgabe. hab ich noch was vergessen?
Hat das was mit der Zeile im ersten Module zu tun?

Code: Alles auswählen

echo "<form name=\"suche\" style=\"margin-bottom:0px;padding-top:0px;\" method=\"POST\" action=\"/html/cms/front_content.php?idcat=39\" >
Da steht ja ../front_content.php?idcat=39
muss da bei mir was anderes rein oder etc...
kuchi
Beiträge: 222
Registriert: So 29. Jun 2003, 18:02
Wohnort: Neubrandenburg
Kontaktdaten:

Volltextsuche

Beitrag von kuchi »

Hi,

ja genau; die idcat mußt Du anpassen; die 39 ist bei mir die Suchausgabe!

Gruß kuchi
toerag
Beiträge: 20
Registriert: Do 20. Nov 2003, 10:10
Wohnort: Kempen
Kontaktdaten:

Beitrag von toerag »

hmm habe gerade mal die suche eingefügt, ein modil gemacht für die eingabe und zeites als ausgabe.

nur leider wird mir nichts angezeigt? ich füge es im template ein, aber es bleibt leer..
was mache ich falsch?
toerag
Beiträge: 20
Registriert: Do 20. Nov 2003, 10:10
Wohnort: Kempen
Kontaktdaten:

Beitrag von toerag »

hey hat denn wirklich keiner eine tip???
würde sehr gerne diese "SUCHE" einbinden :-( und es muss ja eigentlich laufen......
Johannes W.
Beiträge: 19
Registriert: Sa 28. Aug 2004, 14:23
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von Johannes W. »

Versuchs mal mit idcatart anstatt idcat! Steht übrigens im Handbuch.

MFG Johannes
Gesperrt