13. april 2006 - 09:17Der er
17 kommentarer og 1 løsning
Undersøg, valider og opdater.
Jeg har lavet en form på side1 med et textfelt (navn) og et skjult idfelt. Ved siden af har jeg lavet en select, hvorfra brugeren kan vælge et navn. Selectlisten bliver genereret fra en mySql tabel, den hedder tabel_navn og indeholder et id og et navne felt. Via et javascript bliver det valgte navn fra selecten kastet over i textfeltet, og id'et der hører til det valgte navn, bliver indsat i idfeltet.
Når så brugeren klikker på OK-knappen, bliver navnets id indsat i anden tabel, lad os kalde den tabel_film. - det er der jo ikke så mange ben i :-)
Hvis imidlertid det navn brugeren skal bruge ikke findes i selecten, skal han selv indtaste et. Her kommer så spørgsmålet:
Hvordan laver jeg et script der tjekker der: 1. Tjekker om id == ' ' - for så har brugeren jo selv skrevet et navn. 2. Tjekker om det indtastede navn, hvis id == ' ', allerede findes i tabel_navn.
2.1 Hvis det indtastede navn allerede findes i tabel_navn, indsætter navnets id i tabel_film.
2.2 Hvis det indtastede navn ikke findes, skal navnet først skal sættes ind i tabel_navn, hvorefter det nyindsatte navns id skal sættes ind i tabel_film.
Lige lidt mere info: Formen henviser til action='side2.php', på hvilken side jeg havde forestillet mig at scriptet skulle køre, og herefter viderestille til 'side3.php'.
$sql = mysql_query("SELECT id FROM tabel_navn WHERE navn = '$navn' LIMIT 1"); if (mysql_num_rows($sql) == 1) { //Findes i forvejen mysql_query("INSERT INTO tabel_film (idFelt) VALUES ('".mysql_result($sql, 0)."')"); } else { //Findes ikke endnu mysql_query("INSERT INTO tabel_navn (navn) VALUES ('$navn')"); mysql_query("INSERT INTO tabel_film (idFelt) VALUES ('".mysql_insert_id()."')"; }
Det virker sgu! - Men nu er problemet så bare det, at jeg har to variable - nemlig navn1 og navn2. Begge kører efter samme mønster som det forige. Kan du hjælpe med det hmortensen???
Yepper. Jeg har prøvet at duble koden, men så kommer der to rækker i min tabel_film. Det er ikke meningen, da der er plads til at skrive to navne i tabel_film.
Jeg har lavet 10 skuespiller felter i tabel_film. Hvis der ikke er kun er 1 skuespiller, står der bare NULL i den resterende 9 felter. Hvordan vil du foreslå jeg skulle bygge det op?
Ja - det har du selvfølgelig ret i. Men bliver tabellen FilmSkuespiler ikke meget lang, hvis jeg har 1000 film og der i hver film er min. 3 skuespillere?
Men hvis du mener det virker bedst på denne måde, så er det det jeg gør!
OK! Så gør jeg det fame sådan. Men hvis vi så tager udgangspunkt i, at der kun skal laves en skuespillerliste og en instruktørliste.
Så har vi vel 5 tabeller - jeg vil helst have instruktører og skuespillere for sig, dvs. tabel_film, tabel_skuespiller, tabel_director, tabel_filmSkuespiller og tabel_filmDirector.
Herefter har jeg lavet 10 textfelter til indtastning af skuespillere - alle 10 med tilhørende mulighed for valg via en menu. Og på samme måde 10 textfelter til indtastning af instruktør. (der er kun et textfelt synligt - de andre kommer frem via et javascript, når man begynder at taste i det første felt).
Hvordan får jeg den så til at undersøge, validere og indsætte som jeg først ville have scriptet til?
Jeg vil helst have dem adskilt, ikke alle skuespillere er instruktører og omvendt. Så syntes jeg det er bedst at have dem i to separate lister - på den måde bliver selecten med henholdsvis instruktør og skuespiller heller ikke så lang.
Jeg skal i øvrigt også bruge fremgangsmåden separat, da jeg vil lave en slags "søgeord" på hver film. Der skal kunne skrives op til 10 søgeord på hver film (ligesom ved skuespiller), og dem lægger jeg jo heller ikke i samme tabel som skuespillerne :-)
Jeg tror det virker - men har ikke "bygget" det helt færdigt. Men mange tak for hjælpen. - jeg vender sikkert tilbage ;-)
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.