Webstatt.org - Community seit 2006 - 2012 (2024?)

suche funktioniert nicht

Avatar user-180
09.02.2007 10:49

hi, meine suche funktioniert net. kann mir wer helfen?

http://fish.bierquartier.de/index.php?suche=php

keine fehlermeldung, nur wird nix angezeigt

der code:
<?//die suchhe seite
elseif ($_GET['kommentare'] == "0" AND $_GET['alles'] == "0" AND !empty($_GET['suche'])) {

//auswahl für die suchfunktion
$abfrage_suche = "SELECT * FROM `20_inhalt` WHERE MATCH (`titel`, `beschreibung`, `datum`) AGAINST ('".mysql_real_escape_string($_GET['suche'])."'zwinkern";
$ergebnis_suche = mysql_query($abfrage_suche);

//anzeige der ergebnisse
while($row = mysql_fetch_object($ergebnis_suche)) {
?> <h1><?=bbcodes($row->titel)?></h1>
<p class="datum"><?=date("d.m.Y", $row->datum)?></p>
<div class="artikel"><?=vorschautext(htmlentities($row->beschreibung), 400, 15)."...";?>
<br /><a href="artikel_suche-<?=$row->ebene_1?>-<?=$row->ebene_2?>-<?=$row->id?>-<?=$_GET['suche']?>.htm" title="den gesamten artikel '<?=$row->titel?>' vom <?=date("d.m.Y", $row->datum)?> lesen.">mehr</a>
</div><?
}
}?>

may the force be with you. but mostly with me.
Avatar user-180
09.02.2007 14:06

weiss keiner was?

may the force be with you. but mostly with me.
Avatar user-236
09.02.2007 18:11

hast du einen wortindex für die attribute angelegt?? lächeln

http://www.php-faq.de/q/q-mysql-volltextsuche.html
http://dev.mysql.com/doc/refman/5.1/de/fulltext-search.html

signature in progress
Avatar user-180
09.02.2007 18:33

so, ich hab jetzt
ALTER TABLE 20_inhalt ADD FULLTEXT (
beschreibung
)


ausgefürht, gebracht hat es nix, suchergebnisse gibts trozdem keine...

may the force be with you. but mostly with me.
Avatar user-236
09.02.2007 21:32

wenn du dort alles richtig eingestellt hast, dann überprüf doch mal ob dein else zweig auch die richtigen bedingungen hat. :rolleyes:

dann den sql string ausgeben und überprüfen: print $abfrage_suche;
wenn immer noch nichts funktioniert, dann alles so einfach zerlegen, wie es nur geht oder ggf neu schreiben.

signature in progress
Avatar user-180
10.02.2007 16:06

hmm okay.. also: jetzt gibts halt ne fehlermeldung die ich mir nicht erklären kann:
SELECT * FROM `20_inhalt` WHERE MATCH (`titel`, `beschreibung`, `datum`) AGAINST ('php'zwinkern
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result
resource in /www/htdocs/thefish/index.php on line 417


http://fish.bierquartier.de/index.php?suche=php

<?//auswahl für die suchfunktion
$abfrage_suche = "SELECT * FROM `20_inhalt` WHERE MATCH (`titel`, `beschreibung`, `datum`) AGAINST ('".$_GET['suche']."'zwinkern";
$ergebnis_suche = mysql_query($abfrage_suche);
echo $abfrage_suche;

//anzeige der ergebnisse
while($row = mysql_fetch_object($ergebnis_suche)) {
?> <h1><?=bbcodes($row->titel)?></h1>
<p class="datum"><?=date("d.m.Y", $row->datum)?></p>
<div class="artikel"><?=vorschautext(htmlentities($row->beschreibung), 400, 15)."...";?>
<br /><a href="artikel_suche-<?=$row->ebene_1?>-<?=$row->ebene_2?>-<?=$row->id?>-<?=$_GET['suche']?>.htm" title="den gesamten artikel '<?=$row->titel?>' vom <?=date("d.m.Y", $row->datum)?> lesen.">mehr</a>
</div><?
}
}?>


wenn ich die abfrage im mysql editor ausfürhe, bekomme ich folgende fehlermeldung:
#1191 - Can't find FULLTEXT index matching the column list

may the force be with you. but mostly with me.
Avatar user-236
10.02.2007 20:12

hast du links bzw. die seiten durchgelesen ??
ist die tabelle eigentlich überhaupt groß genug, damit sich eine volltext suche lohnt?

weiß nicht wie du das datum abspeicherst, aber ich glaub die volltext suche geht nur für text felder, also varchar und char.

leg am besten einen kombinierten index für die felder an:


CREATE FULLTEXT INDEX index ON table(
feld1 ,
feld2 ,
feld3
);


die ausgabe in etwa so:


$result = mysql_query($sql) or die (mysql_error());

while($row = mysql_fetch_object($result))
{
$row->feld1;
}


mach erst mal eine ganz einfach ausgabe. damit bekommst du sicher schnell raus, wo es hakt

Hope it helps.

signature in progress
Avatar user-180
10.02.2007 22:03

danke dir, ich hatte vergessen das datum abfrage rauszunehmen es funktioniert jetzt. (den 2. lunk ahbe ich gelesen, der 1. geht nicht)

may the force be with you. but mostly with me.
Avatar user-236
11.02.2007 15:24

na dann passt ja alles ...

BTW: du kannst das mit boolean fulltext noch verbessern:

http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html

have phun zwinkern

signature in progress