He@dkiller
Grünschnabel
Hallo erstmal
Ich habe mich hier mal ein wenig umgeschaut, weil ich eine Suchfunktion brauchte... Hab mir die Tuts durchgelesen, ausprobiert, verändert, usw....
Ich hatte mir vorher eine Suchfunktion gebastelt, die auch 100% funktionierte, da war allerdings das Problem, das die Suche immer nur 1 Wort gesucht hat, aber das richtig
Aber JETZT kommt das eigentliche Problem.... Ich poste Euch erstmal den Code meiner find.php:
Das Formular wird mir auch angezeigt, aber gleichzeitig auch eine Fehlermeldung welche lautet: Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\eselmoviez\find.php on line 40
In Zeile 40 steht das hier:
Ich denke auch mal, das ein Fehler in meiner DB-Abfrage besteht, bin mir aber nicht sicher....
Könnt Ihr mal bitte so nett sein und diesen Code überprüfen? Ich weiß absolut nicht warum, wieso und weshalb ich ein Fehler bekomme...
Das meißte aus diesem Script habe ich hier her: http://www.tutorials.de/tutorials9872.html (Big Lob an bad taste *g*)
Danke im Vorraus
Ich habe mich hier mal ein wenig umgeschaut, weil ich eine Suchfunktion brauchte... Hab mir die Tuts durchgelesen, ausprobiert, verändert, usw....
Ich hatte mir vorher eine Suchfunktion gebastelt, die auch 100% funktionierte, da war allerdings das Problem, das die Suche immer nur 1 Wort gesucht hat, aber das richtig
Aber JETZT kommt das eigentliche Problem.... Ich poste Euch erstmal den Code meiner find.php:
PHP:
<?php include("header.inc.php");?>
<?
function formular_ausgabe($eingabe){
global $PHP_SELF;
echo "<form name=\"formular\" action=\"".$PHP_SELF."?aktion=check\" method=post>
<table><tr><td colspan=2 align=left><b>Name:</b></td></tr>
<tr><td colspan=2><input name=\"name\" type=text size=40 maxlength=40 value=\"".$eingabe."\"></td></tr>
<td align=right>
<input type=submit></td></tr></table>";
}
formular_ausgabe($eingabe);
?>
<?php $eingabe_array = explode(' ',$eingabe); ?>
<?php
$db_host = 'localhost';
$db_user = '';
$db_pass = '';
$db_name = 'heaven2';
$db_table = 'tb_daten';
$conn = mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_name,$conn);
$query = 'select * from table tb_daten where '; //anfang der abfrage
for($i=0; $i<count($eingabe_array); $i++){
$query .= "(title like '%".$eingabe_array[$i]."%' or description like '%".$eingabe_array[$i]."%' or info like '%".$eingabe_array[$i]."%')";
//ob der $i-te begriff in einer der drei spalten enthalten ist (mit oder verknüpft)
if($i<count($eingabe_array)-1){
$query .= ' and ';
}
//verknüpfung der einzelnen worte mit und
}
$result = mysql_db_query('heaven2', $query); //anfrage an die datenbank
$num_news = mysql_num_rows($result); //anzahl der zurückgegebenen datensätze
for($i=0; $i<$num_news; $i++){
$id = mysql_result($result,$i,'id'); //abfrage der link_id von der datenbank
$title = mysql_result($result,$i,'title'); //abfrage des link_titles
$description = mysql_result($result,$i,'description'); //abfrage der beschreibung
$first = array_slice(explode(' ', $description), 0, 40); //explode teilt den string wieder an der ' ' und array_slice erstellt einen neuen array mit den ersten 40 elementen = worten der news
$kurze_news = join(' ', $first) . '... '; //join verbindet die elemente des arrays wieder zu einem string. am ende werden noch drei punkte angehängt...
echo '<a href="show.php?id='.$id.'">'.$title.'</a><br>'; //link auf die seite show.php
echo $kurze_news.'<br><br>'; //der 40 worte lange anfang des newstextes
}
?>
Das Formular wird mir auch angezeigt, aber gleichzeitig auch eine Fehlermeldung welche lautet: Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\eselmoviez\find.php on line 40
In Zeile 40 steht das hier:
PHP:
$num_news = mysql_num_rows($result);
Ich denke auch mal, das ein Fehler in meiner DB-Abfrage besteht, bin mir aber nicht sicher....
Könnt Ihr mal bitte so nett sein und diesen Code überprüfen? Ich weiß absolut nicht warum, wieso und weshalb ich ein Fehler bekomme...
Das meißte aus diesem Script habe ich hier her: http://www.tutorials.de/tutorials9872.html (Big Lob an bad taste *g*)
Danke im Vorraus