/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Vælg database med radio button
Fra : Frederik Junkuhn


Dato : 05-02-09 13:51

Hej,

Jeg er i fuld gang med min "reference" side. Jeg skal have listet
referencerne alfabetisk, men de skal også sorteres i kategorier
udfra hvilke slags kunde (bands, festivaler, spillesteder etc) de
er.

Jeg er kommet op med den løsning at jeg laver en database for de
enkelte kategorier, og når man så skal oprette en ny reference
skal man også vælge kategorien i formen.

KODE:

<form id="opret_form" action="<?php echo $_SERVER['PHP_SELF'];
?>" method="post" name="opret_form">
<label>Kategori</label><br><br>
<input type="radio" name="kategori" value="bands" >Bands/Solister
<input type="radio" name="kategori" value="festival" >Festivaler
<input type="radio" name="kategori" value="teater"
>Teater/Musical
<input type="radio" name="kategori" value="firmaer" >Firmaer
<input type="radio" name="kategori" value="spillesteder"
>Spillesteder
<input type="radio" name="kategori" value="tv" >Film/TV<br><br>
<label>Navn</label><br>
<input type="text" name="navn"><br><br>
<label>Nation</label><br>
<input type="text" name="nation"><br><br>
<label>Type</label><br>
<input type="text" name="type"><br><br>
<label>Link</label><br>
<input type="text" name="link"><br><br>
<input class="submit" type="submit" value="Opret">      
</form>

/KODE

Kan jeg få "value" fra radio buttons sat ind i den linie hvor jeg
vælger database?

Altså i:

$sql = "INSERT INTO "XXX" SET



Mange tak


/Frederik


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Johan Holst Nielsen (05-02-2009)
Kommentar
Fra : Johan Holst Nielsen


Dato : 05-02-09 14:13

Frederik Junkuhn wrote:
> Jeg er kommet op med den løsning at jeg laver en database for de
> enkelte kategorier, og når man så skal oprette en ny reference
> skal man også vælge kategorien i formen.

Nu regner med med du mener *tabel* og ikke *database*. Der er flere
tabeller i hver database.

> KODE:
>
> <form id="opret_form" action="<?php echo $_SERVER['PHP_SELF'];
> ?>" method="post" name="opret_form">
> <label>Kategori</label><br><br>
> <input type="radio" name="kategori" value="bands" >Bands/Solister
> <input type="radio" name="kategori" value="festival" >Festivaler
> <input type="radio" name="kategori" value="teater"
>> Teater/Musical
> <input type="radio" name="kategori" value="firmaer" >Firmaer
> <input type="radio" name="kategori" value="spillesteder"
>> Spillesteder
> <input type="radio" name="kategori" value="tv" >Film/TV<br><br>
> <label>Navn</label><br>
> <input type="text" name="navn"><br><br>
> <label>Nation</label><br>
> <input type="text" name="nation"><br><br>
> <label>Type</label><br>
> <input type="text" name="type"><br><br>
> <label>Link</label><br>
> <input type="text" name="link"><br><br>
> <input class="submit" type="submit" value="Opret">      
> </form>
>
> /KODE
>
> Kan jeg få "value" fra radio buttons sat ind i den linie hvor jeg
> vælger database?

$_POST['kategori'];

> $sql = "INSERT INTO "XXX" SET

Lidt forkert syntax... men den nemme er noget ala

$tbl = $_POST['kategori'];
$sql = "INSERT INTO ".$tbl." (foo,bar) VALUES ('a','b')";

Men forstår ikke hvorfor du ikke blot laver et ekstra felt i tabellen
der hedder kategori? De ville gøre langt mere fleksibelt i fremtiden - i
stedet for at have X antal ens tabeller.

--
Johan Holst Nielsen
Freelance PHP Developer - http://phpgeek.dk

Frederik Junkuhn (05-02-2009)
Kommentar
Fra : Frederik Junkuhn


Dato : 05-02-09 14:20

Johan Holst Nielsen wrote in dk.edb.internet.webdesign.serverside.php:
> Frederik Junkuhn wrote:
> > Jeg er kommet op med den løsning at jeg laver en database for de
> > enkelte kategorier, og når man så skal oprette en ny reference
> > skal man også vælge kategorien i formen.
>
> Nu regner med med du mener *tabel* og ikke *database*. Der er flere
> tabeller i hver database.
>
> > KODE:
> >
> > <form id="opret_form" action="<?php echo $_SERVER['PHP_SELF'];
> > ?>" method="post" name="opret_form">
> > <label>Kategori</label><br><br>
> > <input type="radio" name="kategori" value="bands" >Bands/Solister
> > <input type="radio" name="kategori" value="festival" >Festivaler
> > <input type="radio" name="kategori" value="teater"
> >> Teater/Musical
> > <input type="radio" name="kategori" value="firmaer" >Firmaer
> > <input type="radio" name="kategori" value="spillesteder"
> >> Spillesteder
> > <input type="radio" name="kategori" value="tv" >Film/TV<br><br>
> > <label>Navn</label><br>
> > <input type="text" name="navn"><br><br>
> > <label>Nation</label><br>
> > <input type="text" name="nation"><br><br>
> > <label>Type</label><br>
> > <input type="text" name="type"><br><br>
> > <label>Link</label><br>
> > <input type="text" name="link"><br><br>
> > <input class="submit" type="submit" value="Opret">      
> > </form>
> >
> > /KODE
> >
> > Kan jeg få "value" fra radio buttons sat ind i den linie hvor jeg
> > vælger database?
>
> $_POST['kategori'];
>
> > $sql = "INSERT INTO "XXX" SET
>
> Lidt forkert syntax... men den nemme er noget ala
>
> $tbl = $_POST['kategori'];
> $sql = "INSERT INTO ".$tbl." (foo,bar) VALUES ('a','b')";
>
> Men forstår ikke hvorfor du ikke blot laver et ekstra felt i tabellen
> der hedder kategori? De ville gøre langt mere fleksibelt i fremtiden - i
> stedet for at have X antal ens tabeller.
>
> --
> Johan Holst Nielsen
> Freelance PHP Developer - http://phpgeek.dk



Det var også min første plan, men så sad jeg fast, og udtænkte denne geniale
en.

Men hvis jeg laver et felt til (kategori) ville min kode så skulle være:


(SELECT * FROM referencer WHERE kategori bands) ?

Og jeg skal stadig have dem delt op efter forbogstav, så jeg skal vel bruge:

" WHERE navn like 'j%'") " også?

- og hvordan for jeg flettet de to forespørgelser sammen?


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Johan Holst Nielsen (05-02-2009)
Kommentar
Fra : Johan Holst Nielsen


Dato : 05-02-09 14:56

Frederik Junkuhn wrote:
> Det var også min første plan, men så sad jeg fast, og udtænkte denne geniale
> en.

Problemet er du åbner for en masse opdatering + eventuelle problemer.
F.eks. hvis du på et senere tidspunkt ønsker at tilføje et ekstra felt
skal du gøre det i mange tabeller - istedet for en enkelt...

> Men hvis jeg laver et felt til (kategori) ville min kode så skulle være:
>
> (SELECT * FROM referencer WHERE kategori bands) ?

Ja næsten...

$sql = "SELECT * FROM referencer WHERE kategori = 'bands'";

hvis du f.eks. ønsker både festival og spillesteder kan det gøres via
$sql = "SELECT * FROM referencer WHERE
kategori = 'festival' OR kategoru = 'spillesteder'";

> Og jeg skal stadig have dem delt op efter forbogstav, så jeg skal vel bruge:
>
> " WHERE navn like 'j%'") " også?

Jep... hvis det er sådan du har delt det op :)

f.eks.

Med ovenstående eksempler ville det blive:
$sql = "SELECT * FROM referencer WHERE
kategori = 'bands' AND navn LIKE '%j'";

og ved 2 kategorier skal du have et () rundt om OR.
$sql = "SELECT * FROM referencer WHERE navn LIKE '%j' AND
(kategori = 'festival' OR kategoru = 'spillesteder')";

> - og hvordan for jeg flettet de to forespørgelser sammen?

Som ovenfor :)

--
Johan Holst Nielsen
Freelance PHP Developer - http://phpgeek.dk

Johan Holst Nielsen (05-02-2009)
Kommentar
Fra : Johan Holst Nielsen


Dato : 05-02-09 14:57

Johan Holst Nielsen wrote:
> Med ovenstående eksempler ville det blive:
> $sql = "SELECT * FROM referencer WHERE
> kategori = 'bands' AND navn LIKE '%j'";
>
> og ved 2 kategorier skal du have et () rundt om OR.
> $sql = "SELECT * FROM referencer WHERE navn LIKE '%j' AND
> (kategori = 'festival' OR kategoru = 'spillesteder')";
>

Der har jeg så været lidt for hurtig - det er navn der slutter med j...

Det skal "selvfølgelig" være navn LIKE 'j%' i begge forespørgsler.

--
Johan Holst Nielsen
Freelance PHP Developer - http://phpgeek.dk

Frederik Junkuhn (05-02-2009)
Kommentar
Fra : Frederik Junkuhn


Dato : 05-02-09 15:52

Johan Holst Nielsen wrote in dk.edb.internet.webdesign.serverside.php:
> Johan Holst Nielsen wrote:
> > Med ovenstående eksempler ville det blive:
> > $sql = "SELECT * FROM referencer WHERE
> > kategori = 'bands' AND navn LIKE '%j'";
> >
> > og ved 2 kategorier skal du have et () rundt om OR.
> > $sql = "SELECT * FROM referencer WHERE navn LIKE '%j' AND
> > (kategori = 'festival' OR kategoru = 'spillesteder')";
> >
>
> Der har jeg så været lidt for hurtig - det er navn der slutter med j...
>
> Det skal "selvfølgelig" være navn LIKE 'j%' i begge forespørgsler.
>
> --

Mange tak! Det er fedt at du svare så forklarende, så jeg ikke bare skal
af, men rent faktisk forstår hvad jeg laver. Det er guld værd! :)
> Johan Holst Nielsen
> Freelance PHP Developer - http://phpgeek.dk


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409079
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste