Din select box skal se nogenlunde sådan her ud: <select name="mySelect[]" size="4" multiple> <option value="1">Valg nr. 1</option> <option value="2">Valg nr. 2</option> <option value="3">Valg nr. 3</option> <option value="4">Valg nr. 4</option> <option value="5">Valg nr. 5</option> <option value="6">Valg nr. 6</option> <option value="7">Valg nr. 7</option> <option value="8">Valg nr. 8</option> <option value="9">Valg nr. 9</option> </select>
Når den bliver sendt, vil du have et array som hedder $_POST['mySelect'] (hvis din form bruger post). I det array ligger alle de værdier som var blevet markeret.
Det jeg skal bruge er ( Vis jeg har en MySql databse og gerne vil søg i den men i forskellige tabeler, Så skal der være en S box hvor jeg kan vælge det jeg gerne vil søge under....
Jeg forstår stadig ikke helt hvad det er du søger. Prøv at vise os dine database tabeller og skriv hvordan du kunne tænke dig at søge i disse. Prøv evt. at give et konkret eksempel.
Et andet sprøgsmål, hvad skal man vælge med denne her select box du snakker om? Er det hvilken tabel man skal søge i? Er det options til søgningen? eller hvad er dens formål?
Ja det er det som nak-m mener, Vis jeg nu har 5 tabeler, ( nr, titel, titel2, skuespiller_1 ) skal det være sådan at jeg selv kan vælge i en en select box, hvilken en jeg vil søge i.....
Det er ikke lige det jeg mener, Det jeg mener er at , Vis man nu kommer ind på min side og skal finde en dvd film, Men kan kun huske at det er en med ( Jet li ) ( skuespiller ) så skal man kunne søge efter skuespiller....Osv
Men skal kunne søge under:
nr skurespiller id gener titel søg på alt udlåndt udlåndt til
Så vælger du det du skal søge efter, og skriver søge ordet og trykker på (SØG)
Ahhh ok, så er jeg med! Det du gør, er at du i din query, joiner de tabeller der skal søges i. Ex. Vi har flg. primære tabeller: film (id, navn) skuepiller (id, navn) genre (id, genre)
Vi har ligeledes flg. relations tabeller: skuepiller_film (id_skuepiller, id_film) genre_film (id_genre, id_film)
Du laver så en select som sammensætter alle tabellerne til en tabel, og søger i den. SELECT * FROM film, skuepiller_film, genre_film LEFT JOIN skuepiller ON skuepiller_film.id_film = film.id LEFT JOIN genre ON genre_film.id_film = film.id WHERE ...
I WHERE sætter du de søge kriterier ind som er blver sendt med i søge formen fra din side.
(Det er lidt svært når vi ikke aner hvordan dine database struktur er ;-)
Ok, min løsning var nok at skyde lidt (læses meget) over målet hvis din database ser sådan ud ;-)
Jeg kan så ikke se hvad du skal bruge den select box, du snakker om, til! Hvor kommer den ind i billedet? Hvad er dens formål?
Men hvis din tabel ser sådan ud, så søger du bare efter $seek i alle felter. SELECT * FROM dvdfilm WHERE id LIKE '%$seek%' OR nr LIKE '%$seek%' OR titel LIKE '%$seek%' OR ... OR genre LIKE %$seek%' OR ... OR skuespiller_18 LIKE %$seek%'
Ikke særlig kønt, men nok den eneste måde, på den måde din database er opbygget.
$result = mysql_query(" SELECT id, titel, titel2, udlaandt FROM dvdfilm WHERE nr LIKE '%$seek%' OR skuespiller_1 LIKE %$seek%' OR skuespiller_2 LIKE %$seek%' OR skuespiller_3 LIKE %$seek%' OR skuespiller_4 LIKE %$seek%' OR skuespiller_5 LIKE %$seek%' OR skuespiller_6 LIKE %$seek%' OR skuespiller_7 LIKE %$seek%' OR skuespiller_8 LIKE %$seek%' OR skuespiller_9 LIKE %$seek%' OR skuespiller_10 LIKE %$seek%' OR skuespiller_11 LIKE %$seek%' OR skuespiller_12 LIKE %$seek%' OR skuespiller_13 LIKE %$seek%' OR skuespiller_14 LIKE %$seek%' OR skuespiller_15 LIKE %$seek%' OR skuespiller_16 LIKE %$seek%' OR skuespiller_17 LIKE %$seek%' OR skuespiller_18 LIKE %$seek%' OR id LIKE '%$seek%' OR genre LIKE %$seek%' OR titel LIKE '%$seek%' OR udlaandt LIKE '%$seek%' OR udlaandt_til LIKE '%$seek%'");
Men det var jo stort set hvad du havde i forvejen, bare med en del flerer felter at søge i!?
Jeg kan så ikke se hvad du skal bruge den select box, du snakker om, til! Hvor kommer den ind i billedet? Hvad er dens formål?
Der er et søge felt hvor jeg gerne vil ha at man skal kunne søge efter ting i filmen, Vis nu men kun vil finde dvd film med en bedstemt skuespiller i eller vis det kun er triller man vil finde, Forstå du mig :-)
Indsæt denne select box der hvor søgefeltet er: (Søgningen fortages altid på films titel, samt hvad der er valgt i options) <select name="searchArray[]" size="7" multiple> <option value="nr">nr</option> <option value="cast">skuespiller</option> <option value="id">id</option> <option value="genre">gener</option> <option value="out">udlånt</option> <option value="out_to">udlånt til</option> <option value="all">søg på alt</option> </select> ----- I stedet for linjen: $result = mysql_query("select id, titel, titel2, udlaandt from dvdfilm where titel like '%$seek%' or titel2 like '%$seek%' or udlaandt like '%$seek%'"); Skal der stå flg.: $searcArray = $_POST['searchArray']; $sql = " SELECT id, titel, titel2, udlaandt FROM dvdfilm WHERE titel LIKE '%$seek%' "; foreach ($searcArray as $key => $value) { switch ($key) { case 'nr': $sql .= " OR nr LIKE '%$seek%' "; break; case 'cast': $sql .= " OR skuespiller_1 LIKE %$seek%' OR skuespiller_2 LIKE %$seek%' OR skuespiller_3 LIKE %$seek%' OR skuespiller_4 LIKE %$seek%' OR skuespiller_5 LIKE %$seek%' OR skuespiller_6 LIKE %$seek%' OR skuespiller_7 LIKE %$seek%' OR skuespiller_8 LIKE %$seek%' OR skuespiller_9 LIKE %$seek%' OR skuespiller_10 LIKE %$seek%' OR skuespiller_11 LIKE %$seek%' OR skuespiller_12 LIKE %$seek%' OR skuespiller_13 LIKE %$seek%' OR skuespiller_14 LIKE %$seek%' OR skuespiller_15 LIKE %$seek%' OR skuespiller_16 LIKE %$seek%' OR skuespiller_17 LIKE %$seek%' OR skuespiller_18 LIKE %$seek%' "; break; case 'id': $sql .= " OR id LIKE '%$seek%' "; break; case 'genre': $sql .= " OR genre LIKE %$seek%' "; break; case 'out': $sql .= " OR udlaandt LIKE '%$seek%' "; break; case 'out_to': $sql .= " OR udlaandt_til LIKE '%$seek%' "; break; case 'all': $sql = " SELECT id, titel, titel2, udlaandt FROM dvdfilm WHERE nr LIKE '%$seek%' OR skuespiller_1 LIKE %$seek%' OR skuespiller_2 LIKE %$seek%' OR skuespiller_3 LIKE %$seek%' OR skuespiller_4 LIKE %$seek%' OR skuespiller_5 LIKE %$seek%' OR skuespiller_6 LIKE %$seek%' OR skuespiller_7 LIKE %$seek%' OR skuespiller_8 LIKE %$seek%' OR skuespiller_9 LIKE %$seek%' OR skuespiller_10 LIKE %$seek%' OR skuespiller_11 LIKE %$seek%' OR skuespiller_12 LIKE %$seek%' OR skuespiller_13 LIKE %$seek%' OR skuespiller_14 LIKE %$seek%' OR skuespiller_15 LIKE %$seek%' OR skuespiller_16 LIKE %$seek%' OR skuespiller_17 LIKE %$seek%' OR skuespiller_18 LIKE %$seek%' OR id LIKE '%$seek%' OR genre LIKE %$seek%' OR titel LIKE '%$seek%' OR udlaandt LIKE '%$seek%' OR udlaandt_til LIKE '%$seek%'"; break´2; } } $result = mysql_query($sql);
Så kan Crapmaster vel åbne et nyt spørgsmål og belønne dig der.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.