Hallo,
kann jemand mir sagen wie ich eine Suchfunktion durch eine mysql datenbank realieseren kann???
gibt es vielleicht einen ausfuehrlichen tutorial dazu??? ich habe schon ueberall gesucht und bisher kaum was gefunden.
das ist was ich bisher habe und ich bekomme immer fehlermeldung:
<?php
if (isset($_POST['eingabe']))
{
$eingabe = $_POST['eingabe'];
$eingabe_array = explode(' ',$eingabe);
$query = 'select * from table jokes where '; //anfang der abfrage
for($i=0; $i<count($eingabe_array); $i++){
$query .= "(joketext 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 ';
} }
$result = mysql_db_query('jokes',$query); //anfrage an die datenbank
$num_news = mysql_affected_rows($result); //anzahl der zur¨¹ckgegebenen datens?tze
for($i=0; $i<$num_news; $i++){
$joketext = mysql_result($result,$i,'joketext'); //abfrage der news_id von der datenbank
}
}
?>
und zwar immer genau da bei mysql_affected_rows, der code stammt natürlich auch nicht von mir, hab bei einem tutorial abgeschrieben... wäre echt super wenn jemand mir helfen könnte.
danke,
Ankündigung
Einklappen
Keine Ankündigung bisher.
Suchfunktion in einer Datenbank??
Einklappen
Neue Werbung 2019
Einklappen
X
-
Suchfunktion in einer Datenbank??
Stichworte: -
-
Ich setze voraus, daß Du vorher eine Verbindung zur Datenbank aufgbaut hast:Code:mysql_connect($host, $user, $password);
-
Laß in der Abfrage das Wort »table« weg und ersetze mysql_affected_rows() durch mysql_num_rows().
Wenn Du nur den Inhalt von joketext brauchst, solltest Du »SELECT joketext FROM ...« verwenden.
Das Konstruktkannst Du auch durchCode:for($i=0; $i<count($eingabe_array); $i++){ $query .= "(joketext 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 '; } }ersetzen.Code:foreach ($eingabe_array AS $value) $query .= 'joketext LIKE "%'.$value.'%" AND '; $query = substr($query, 0, -4);
PS: Wenn du mit ODER verknüpfen willst, solltest Du auch »OR« schreiben, wodurch sich das dritte substr-Argument auf -3 ändert.
Einen Kommentar schreiben:
-
Ein Gast antwortetewas kommt den genau für eine fehlermeldung??
Einen Kommentar schreiben:

Einen Kommentar schreiben: