Suche mit MySQL um Kategorie erweitern ?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
angelegenheit
auslese
betroffenen tabellen
code
dank
eintrag
feld
filtern
genau passieren
jeweilige kategorie
kategorie
schleife
stelle
suche
suchen
tag
teil
term
url
vorhandenen angaben
-
Ich tag/suche">suche ein Script das es ermöglicht die Suche in Kategorien zu filtern.
Ich stelle mir das so vor, das neben einem Input Feld ein Dropdown Menü ist wo die Kategorien aufgelistet sind.
Die Kategorie eines MySQL Eintrags ist auch in der Tabelle gespeichert.
Wählt man nun eine Kategorie aus, und sucht ein Wort, so werden nur die Wörter angezeigt, die die jeweilige Kategorie in ihrem MySQL Eintrag haben.
Habe schon gestern den ganzen Tag gesucht, aber nichts gefunden was mich glücklich macht.
Vielen Danke im Voraus
Das ist bis jetzt mein Code ohne Kategorie:
<form action='user-search.php' method='get'> <input type='text' name='k' size='61' value='<?php echo $_GET['k']; ?>' /> <input class="search-button" type='submit' value='Search'> </form>
<?php $k = $_GET['k']; $terms = explode(" ", $k); $query = "SELECT * FROM table WHERE "; foreach ($terms as $each){ $i++; if ($i == 1) $query .= "user LIKE '%$each%' "; else $query .= "OR user LIKE '%$each%' "; } // connect mysql_connect("localhost", "***", "***"); mysql_select_db("n***"); $query = mysql_query($query); $numrows = mysql_num_rows($query); if ($numrows > 0){ while ($row = mysql_fetch_assoc($query)){ $id = $row['id']; $user = $row['user']; $content = $row['content']; echo "<h2>$user</h2> $content<br /><br />"; } } else echo "No results found for \"<b>$k</b>\""; // disconnect mysql_close(); ?>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
nilsbierwirth1 schrieb:
kein wunder ;o)
... Habe schon gestern den ganzen Tag gesucht, aber nichts gefunden ...
wir brauchen außer den vorhandenen angaben noch die creates von den betroffenen tabellen und ein bisschen testdaten (passende natürlich).
==== edit ====
und eine etwas exaktere beschreibung der angelegenheit könnte auch zum verständnis beitragen.
Beitrag zuletzt geändert: 29.8.2011 22:43:46 von hemiolos -
HI nilsbierwirth
Also, zuerst solltest du noch die Kategorien aus der DB auslesen. Und zwar am besten direkt in ein Select-Feld:
<option value=KATEGORIE-ID >Kategorie Bezeichnung</option>
Danach kannst du ähnlich verfahren, wie mit dem Usernamen.
Der Teil mit dem Expolde und der for each Schleife ist mir jedoch nicht so klar, was soll da genau passieren?
Wie schon gesagt, etwas mehr Infos wären sehr nützlich.
Gruss -
meron schrieb:
das baut den where-teil - mit und auch ohne ODER - der query zusammen, aber eher der rest ist unklar, daher - create und (test)daten veröffentlichen, dass man besser helfen kann.
... Der Teil mit dem Expolde und der for each Schleife ist mir jedoch nicht so klar, was soll da genau passieren? -
Hat sich erledigt, habe es jetzt anders gemacht.
Trotzdem Danke für die Hilfe ;) -
An Stelle von LIKE würde ich übrigens sowas wie
SELECT * FROM table WHERE MATCH (`user`) AGAINST ('each*' IN BOOLEAN MODE)
benutzen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage