Avatar billede staf Nybegynder
25. april 2003 - 03:14 Der er 1 kommentar og
1 løsning

switch eller else if???

Hejsa!

Jeg har en form hvorfra brugeren via. en selectbox vælger en værdi.
Denne værdi henter jeg ind med PHP på flg. måde:
-----------------------------------------------
$afdeling = $HTTP_POST_VARS['valgt_afdeling'];
-----------------------------------------------
Selectboksen i formen indeholder 11 forskellige afdelinger der kan vælges imellem.

Det jeg så gerne vil er, at omdømme afdelingsnavnet med php.
Eks. hvis valgt afdeling er lig med Afdeling A så skal denne omdømmes til værdien 1 i php`en. Jeg skal nemlig bruge 1 for Afdeling A.
Helt præcist skal mine tilfælde gerne komme til at se således ud:
--------------------------------------------
Hvis $Afdeling = Afdeling A SÅ $Afdeling = 1
Hvis $Afdeling = Afdeling B SÅ $Afdeling = 2
Hvis $Afdeling = Afdeling C SÅ $Afdeling = 3
osv osv......
---------------------------------------------
Da jeg har 11 "tilfælde" går jeg ud fra at det er mest hensigtsmæssigt at lave den med "switch". Jeg er rimelig usikker på hvorledes jeg klarer dette.

Forestiller mig dog noget i retning af:
----------------------------------------
switch ($afdeling){
case "Afdeling A":
      $afdeling = 1;
      break;

case "Afdeling B":
      $afdeling = 2;
      break;

case "Afdeling C":
      $afdeling = 3;
      break;

case "Afdeling D":
      $afdeling = 4;
      break;

osv osv.....
---------------------------------
Men er langt fra sikker på det!
tal-værdierne skal senere sættes ind i en relationstabel
hvor talene så blir fremmed-nøgler til en "afdelings tabel"  hvori ID`en netop er disse tal.

Hvordan får jeg klaret dette så det virker??
På forhånd tak :)
Avatar billede Slettet bruger
25. april 2003 - 03:38 #1
Lidt mere optimalt måske!?
I din formular:
--------------------------------------------------
$afdelinger = array(1=>"Afdeling A",2=>"Afdeling B",3=>"Afdeling C");
$dropdown = DropDownArray("valgt_afdeling", $afdeling);/* taget fra http://www.reginscorner.dk/dropdown.php */
echo $dropdown;//LAV SELECT BOX
--------------------------------------------------
I din modtagelse:
--------------------------------------------------
$afdelinger = array(1=>"Afdeling A",2=>"Afdeling B",3=>"Afdeling C");/* Bør includes i en fil sammen med ovenstående... Så arrayet kun erklæres et sted!*/
$afdeling = $HTTP_POST_VARS['valgt_afdeling'];
if(!array_key_exist($afdeling,$afdelinger))
{
    //EN SPADE MANIPULERER MED DIN FORMULAR
}
else
{
    //AFDELING ER GOD NOK HER!
}
-----------------------------------------------------------
Men jo, din switch ser god nok ud! Min filosofi er altid switch i stedet for elseif, hvis det kan lade sig gøre!
I ovenstående slipper du for at rette dine afdelinger flere steder i koden, hvis du skal nedlægge gamle eller oprette nye afdelinger.
Avatar billede staf Nybegynder
25. april 2003 - 03:48 #2
super! det vil jeg fluks "nuppe" :)

takker!!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester