I en mySQL-tabell har jag lagt in ett register över mina skivor. Kolumnerna heter rec_id (unik nyckel), skiv_namn (text) , artist (text), rel_year (4 siffror), betyg (en siffra) samt nyckelord (255 tecken, avgränsade nyckelord med komma).
Hittills ser min webgränssnitt ut så att artisterna listas i ett php-dokument, när man klickar på en artist visas samtliga skivor med denna artist samt information om skivorna. Så långt sträcker sig mina php-kunskaper...
Nu vill jag även kunna välja FLER än en sort-order, text att sortera på titel OCH utgivningsår OCH betyg... hur gör jag det? (Tex artist stigande, utgivningsår stigande samt betyg sjunkande)
Sedan vill jag även konstruera en sökmotor till databasen, hur kodar jag grundstommen för denna?
Alla dessa tre sökorden finns lagrade i kolumnen keywords i tabellen. Ska jag med något string-kommando separera orden vid varje plustecken eller hur är det man gör?
Dessutom undrar jag vad som returneras om ingenting hittas vid en sökning, alltså hur kollar jag om $result är tom efter en sökning, eftersom jag då vill visa meddelandet "Inga träffar"?
$result = mysql_query("SELECT * FROM skivor WHERE keywords LIKE '%$key%'");
Finns det något sett att se hur många "rader" som lagrats i $result sa jag INNAN utskriften av resultatet kan printa "4 skivor hittades."
Ska jag med något string-kommando separera orden vid varje plustecken eller hur är det man gör?
Jag skulle tro att det är så du får göra. Jag kan visserligen varken PHP eller MySQL, men så får man göra på min 'hemmaplan'. Separera, och bygg ihop SQL-frågan med OR eller AND mellan de olika sökdelarna, beroende på vad som önskas.
Dina andra frågor har behandlats tidigare, så pröva att söka lite här på wF, så hittar du nog svaren. :)
Då blir $query en array med metallica och unforgiven..
Sedan kan man väl sätta ihop lite OR och AND i mysql frågan och få ett reslutat. Har inte prövat men det verkar logiskt. :)