Suchfunktion in PHP über MySQL?

Habe es mal so probiert, davor zuerst mit einer for-Schleife, aber das spielt ja nicht so eine grosse Rolle...

PHP:
$search_array=explode(" ",$_POST['search_string']);
$sql="SELECT * FROM items LEFT JOIN cat ON items.CatID = cat.CatID WHERE ItemTitle LIKE '%".$search_array['0']."%'".foreach($search_string as $wert){
	 ."AND ItemTitle LIKE '%".$wert."%'".
}."
 
So aus dem Kopf sollte das Ganze ungefähr so aussehen:
PHP:
$text = "Das ist ein String";
$arr = explode(" ", $text);
$sql = "SELECT * FROM Tabelle WHERE Text LIKE %";
while(current($arr)){
    $sql .= current($arr);
    $sql .= "% AND Text LIKE %";
    next($arr);
    }
$sql = substr($sql,0,-16);
echo $sql;
und raus kommt dann
SQL:
SELECT * FROM Tabelle WHERE Text LIKE %Das% AND Text LIKE %ist% AND Text LIKE %ein% AND Text LIKE %String%

Greetz...
Sinac
 
Zuletzt bearbeitet von einem Moderator:
:) Danke, das mit den Punkten (weiss nicht wie man das nennt) ist mir gar nicht eingefallen :p ..hab das halt auch noch nicht oft verwendet :)

Wieso aber
PHP:
$sql = substr($sql,0,-16);
?
Wieso minus 16?
 
Achso das schneidet das
PHP:
" AND Text LIKE %"
ab. Danke vielmals, habs noch nicht ausprobiert...muss nach Hause gehn...vllt liest du morgen wieder von mir.. :)
 
Ja, genau. Ich muss gestehen dass ich nicht der super PHP Profi bin, also vielleicht gibt es auch eine bessere Lösung. Aber so würde ich es zumindest machen :)
 
:) So geil, jetzt geht's endlich.. da ich die Suchresultate auch behalten will, wenn man nach einem anderen Kriterium sortiert (und somit die Seite neu geladen wird) musste ich noch stundenlang an meinen Sessions arbeiten :rolleyes: jetzt klapps :) ..danke!
 
Hallo,

ich will mich hier jetzt einfach mal anhängen. Ich selbst würde auch gerne eine Suchfunktion integrieren, die aber ein bisschen mehr können soll. In meinem Feld (ich nenne es hier auch mal Text), befindet sich auch html Code (z.b. <strong>test</strong>, usw). Jetzt möchte ich aber verhindern, dass bei Eingabe von "strong" der Beitrag angezeigt wird. Somit möchte ich also den HTML Code ausklammern.

Wie genau mache ich sowas?
Jemand eine Idee?
 
Ich verstehe nicht was du willst :) ...wieso soll denn verhindert werden, dass der Beitrag (=Inhalt der DB!?) angezeigt wird? Wenn nix angezeigt wird, bringt ja die Suche gar nix.
 
in der DB steht HTML Code:

z.B.
Code:
<strong>Das ist ein Text</strong>
In diesem Fall wäre das bei der Ausgabe nichts anderes als
Code:
Das ist ein Text
Verständlicherweise will ich jetzt nicht, dass jemand der nur nach einem Inhalt sucht, welcher irgendwas mit "strong" beinhaltet, einen Beitrag wegen der HTML Formatierungen erhält.
 
Achsooooo jetzt versteh' ich. Ziemlich logisch was du willst.. :) ...hab aber keine Ahnung, wie du das machen kannst =) ...denn es können ja auch im Text "<" oder ">" o.ä. sein hm... naja, vielleicht hat dir ja irgendein Forum-Guru eine Lösung...der Thread ist leider schon als "Erledigt" markiert... aber vielleicht kommt ja trotzdem noch mal jemand vorbei.. =) ..würde mich auch interessieren..
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück