Hi ... hab nun meine Page fast fertig, das was mir nun noch fehlt ist eine Suchfunktion. Nun hab ich mir mehrere Tutorials durchgelesen und versucht eins zu basteln. Wenn ich nun in der Suche ein Stichwort eingebe ruft er das PHP auf und übergibt den wert $eingabe an das Script. Kurz darauf bekomm ich grundsätzlich die Fehlermeldung ... "Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in testsuche.php on line 31"
Line 31 =
das schlimme ist , ich kann beim besten willen nicht erkennen was daran falsch sein soll
wäre echt nett wenn ihr euch das mal bitte anschauen könntet
hier der Code ...
Bin für jeden Tipp dankbar
Line 31 =
PHP-Code:
$num_news = mysql_num_rows($result);
wäre echt nett wenn ihr euch das mal bitte anschauen könntet
hier der Code ...
PHP-Code:
$server ="localhost";
$Benutzer ="v029579";
$Kennwort ="XXXXXXXXXX";
$db_test ="v029579";
$table = "news";
$verbindung = mysql_connect ($server, $Benutzer, $Kennwort) OR DIE ("Unable to connect to database");
mysql_select_db("v029579",$verbindung) OR DIE ("Unable to connect to database");
$eingabe_array = explode(' ',$eingabe);
$query = "SELECT * FROM $table where news_text like '%$eingabe%'";
for($i=0; $i<count($eingabe_array); $i++){
$query .= "(news_text like '%".$eingabe_array[$i]."%' or ueberschrift like '%".$eingabe_array[$i]."%' or autor 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('',$query); //anfrage an die datenbank
$num_news = mysql_num_rows($result); //anzahl der zurückgegebenen datensätze
for($i=0; $i<$num_news; $i++){
$news_id = mysql_result($result,$i,'news_id'); //abfrage der news_id von der datenbank
$ueberschrift = mysql_result($result,$i,'ueberschrift'); //abfrage der ueberschift
$news_text = mysql_result($result,$i,'news_text'); //abfrage der news
$first = array_slice(explode(' ', $news_text), 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_news.php?news_id='.$news_id.'">'.$ueberschrift.'</a><br>'; //links auf die seite show_news.php
echo $kurze_news.'<br><br>'; //der 40 worte lange anfang des newstextes
}
Kommentar