
1. Würde das theoretisch funktionieren?
2. Macht PHP Unterschiede in Groß- und Kleinschreibung, bei strings?
3. Gibt es vllt. eine vorteilhaftere Funktion/Prozedur/Methode in PHP?
Ja.naums hat geschrieben:Das wenn z.B. jemand "top Gun" sucht, und ich hab 'Top Gun' und "Top Gun 2' in meiner Spielliste, dann wird zuerst der Suchstring "top gun" nach '"' durchsucht, um zu kucken, ob der Suchende vllt. doch nach dem exakten ausdruck sucht. Will er hier nicht, also wird der String am " " geteilt, und nach beide teilstrings mit allen Titeln in der DB mittels explode verglichen. Wenn jeweils ein Array von 2 oder mehr Elementen rauskommt, dann hat der Titel den Suchstring in sich. Dann nurnoch ausgeben und fertig![]()
1. Würde das theoretisch funktionieren?
Auf Wunsch ja. Du wirst allerdings vermutlich eher die Datenbank suchen lassen. SQL sucht glaube ich ohne Unterscheidung, aber ich bin sicher, dass sich das auch einstellen lässt.naums hat geschrieben:2. Macht PHP Unterschiede in Groß- und Kleinschreibung, bei strings?
Wie gesagt: Ich sehe hier die Lösung eher in SQL.naums hat geschrieben:3. Gibt es vllt. eine vorteilhaftere Funktion/Prozedur/Methode in PHP?
Yepp.naums hat geschrieben:SELECT * FROM table WHERE name like "%$SUCHBEGRIFF%"
wobei name hier eine spalte sein soll, nor? ^^
PHP wird interpretiert, das dauert länger als optimierte Routinen von SQL. Außerdem müssen alle Daten erstmal kopiert werden, um sie auszusortieren. Mit SQL werden nur die Daten kopiert, die Dich interessieren.naums hat geschrieben:ich hätte eher alles erstmal ausgelesen und dann mittels explode gekuckt, aber das dauert im gegensatz zu der SQL Variante wirklich schweine lange.
Code: Alles auswählen
$db=new mysqli("localhost", "user", "pswd", "db");
$abfrage=$db->query($query, MYSQLI_STORE_RESULT);
if ($res=$abfrage->fetch_assoc())
{
}
Natürlich, die Frage ist halt, über welche Einträge der Datenbank Du suchen möchtest.naums hat geschrieben:den Teil nach dem OR kann ich aber auch weglassen???
Kenne ich den internen Aufbau Deiner Datenbank-Klasse? ^^naums hat geschrieben:und was passiert eigentlich, wenn in einer Tabelle nichts drin steht, und ich trotzdem einen abfrage->fetch_assoc() ausführen lasse? Lässt sich der Fehler mit if ($res=$abfrage->fetch_assoc()) verhindern?
Mein Gedächtnis befindet sich auch unter external-brain.com, trotzdem weißt Du nicht alles auswendig, was drin steht, oder? ^^Dominik hat geschrieben:mysqli ist doch öffentlich zugänglich ^^