Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwarka wg gatunku
Forum PHP.pl > Forum > PHP
trebron
Witam.
Chcę dodać do wyszukiwarki kryterium wyszukiwania wg gatunków muzycznych i filmowych. Problem w tym, że tych gatunków jest ponad 100 i kod zajmował by około 1000 lini. Czy jest możliwość zdefiniować gatunki w inny krótszy sposób niż ten ktory podaję poniżej dla jednego gatunku- Akcja? Dodam, że do każdej pozycji muzycznej czy też filmowej można dodać 3 kategorie i w bazie wystepują jako gat1, gat2, gat3.
  1. if ($_GET["gat"] == 1){
  2. $addparam .= "gat=1&";
  3. $wherea[] = "gat1 = 'Akcja' || gat2 = 'Akcja' || gat3 = 'Akcja'";
  4. }

Wybór w wyszukiwarce:
  1. <select name="gat" style="width: 110px;">
  2. <option value="0" selected="selected">Gatunek</option>
  3. <option value="1"<? print($_GET["gat"] == 1 ? " selected" : ""); ?>>Akcja</option>
  4. </select>
nospor
A skad sie wzielo to "Akcja" ?

Tak czy siak, pomijajac te AKCJA, to powinno to wygladac poprostu tak

  1. if (!empty($_GET["gat"])){
  2. $addparam .= "gat=" . (int)$_GET["gat"];
  3. $wherea[] = "gat1 = 'Akcja' || gat2 = 'Akcja' || gat3 = 'Akcja'";
  4. }

I juz, zadne 1000 linii nie potrzeba. oczywiscie moze sie to troche zmienic jesli ta AKCJA jest jakos dynamiczna
trebron
"Akcja" to jeden z gatunków filmowych a jest ich ponad 100, np komedia, thriller, romans. Kazdy opis filmu może mieć nawet 3 gatunki a gatunek "Akcja" może się znajdować w jednym z tych 3 gatunków. Do kazdego gatunku muszę utworzyć kod podobny do tego ktory podałem lub Ty podałeś dla gatunku "Akcja" więc dla wszystkich gatunków bedzie kilkaset lini kodu. Stąd moje pytanie czy nie da się tego uprościć w jakiś sposób, np żeby w skrypcie wszystkie gatunki wpisać w jednej linii a nie dla każdego gatunku osobno.
gino
Przypuszczam, że jest to jakaś baza danych, to albo jest źle zrobiona, albo Ty czegoś nie rozumiesz. Podajesz gatunek a zapytanie oddaje Ci wszystkie filmy spełniające ten warunek. Kilkanaście linii kodu, bez żadnych pośrednich tablic czy sklejania zmiennych.
trebron
Cytat(gino @ 3.08.2022, 07:46:59 ) *
Przypuszczam, że jest to jakaś baza danych, to albo jest źle zrobiona, albo Ty czegoś nie rozumiesz. Podajesz gatunek a zapytanie oddaje Ci wszystkie filmy spełniające ten warunek. Kilkanaście linii kodu, bez żadnych pośrednich tablic czy sklejania zmiennych.

Tak jestem zielony i nie rozumiem, dlatego proszę o pomoc smile.gif Chcę dodać w wyszukiwarce wybor jak na screenie https://i.imgur.com/25FjBxI.png
Czyli powinno wyglądać to w ten sposób bez wpisywania gatunku?
  1. if (!empty($_GET["gat"])){
  2. $addparam .= "gat=" . (int)$_GET["gat"];
  3. $wherea[] = "gat1 = '' || gat2 = '' || gat3 = ''";
  4. }


trueblue
https://helion.pl/pobierz-fragment/cwac16/pdf
trebron
Nie rozumiecie mnie. Nie mam w bazie zrobionej tabeli z gatunkami. W bazie z filmem czy muzyką są dodane gatunki w formie tekstu https://i.imgur.com/WwFkjDj.png i aby ten film czy muzyka został odnaleziony to chyba trzeba wpisać w kodzie gatunek.
viking
A czemu tego nie zrobiłeś jak człowiek z relacjami?
filmy -> id_filmu
gatunki -> id_gatunku
filmy_gatunki -> id_filmu, id_gatunku
trebron
Tak było od wielu lat, ja tego nie robiłem smile.gif. Wiec innego sposobu nie ma, trzeba by dodać gatunki do bazy i wtedy wyszukiwanie po id, w przeciwnym wypadku trzeba by pisać za duzo linijek a to odpada.
nospor
To gdzie przechowywane teraz sa gatunki? W jakiejs tablicy? Czy moze co gorsza tylko w tym pole select w formularzu?
trebron
Tylko w formularzu, ale teraz juz wiem, że trzeba gatunki utworzyć w bazie aby mozna było wg nich wyszukiwać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.