---
title: "Olika options, olika tabeller. Hur?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/175189-olika-options-olika-tabeller-hur"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "tranceformer"
published: "2008-11-06T02:11:34.000Z"
updated: "2008-11-06T17:07:36.000Z"
replies: 13
views: 588
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/175189-olika-options-olika-tabeller-hur"
---

# Olika options, olika tabeller. Hur?

## #1 — tranceformer, 2008-11-06T02:11Z

Trött och stressig hjärna, så jag får be om ursäkt om det är idiotiska frågor jag kommer med, men jag ställer dom hellre i förhoppning om att någon vänlig själ kan hjälpa mig än att gräva ner mig ännu djupare.

Jag har ett formulär där man först ska välja ett alternativ i en dropdown-meny och sen fylla på med resten av uppgifterna. Beroende på vad man valde i dropdown-menyn så ska uppgifterna in i olika tabeller, hur löser man det?
Kan man köra någon if-sats som kollar vilket "value" option har, eller får man gå tillväga på något annat sätt?

Som sagt, ursäkta min stupiditet. :)

Permalänk: https://www.webforum.nu/p/175189

## #2 — Pedda, 2008-11-06T07:03Z

Ja, du måste kolla med en if sats eller en switch sats.

```php
switch ($_POST['mindropdown']){
case 'alt1':
    // alternativ 1 är valt, gör det du ska...
    break;
case 'alt2':
    // alternativ 2 är valt, gör det du ska...
    break;
default:
    // Inget alternativ valt som stämmer med dina case
}
```

Permalänk: https://www.webforum.nu/p/2152412

## #3 — tranceformer, 2008-11-06T11:58Z

> **Pedda skrev:**
>
> Ja, du måste kolla med en if sats eller en switch sats.
>
> ```php
> switch ($_POST['mindropdown']){
> case 'alt1':
>     // alternativ 1 är valt, gör det du ska...
>     break;
> case 'alt2':
>     // alternativ 2 är valt, gör det du ska...
>     break;
> default:
>     // Inget alternativ valt som stämmer med dina case
> }
> ```

Vad är det jag ska skriva i 'alt1' och 'alt2'? För oavsett om jag skriver vad jag har satt för value på valet eller innehållet i den så hoppar switch-satsen till default.

Permalänk: https://www.webforum.nu/p/2152441

## #4 — Pedda, 2008-11-06T12:19Z

mindropdown byter du ut till namnet på din dropdown
alt1 och alt2 byter du ut till dina olika values

Permalänk: https://www.webforum.nu/p/2152446

## #5 — tranceformer, 2008-11-06T12:24Z

Då måste jag göra något annat fel.
Jag har lagt in switch-satsen i sidan som tar emot och läser in formuläret, efter att jag har lagt in resultaten i variabler. Ska den ligga någon annanstans?

Permalänk: https://www.webforum.nu/p/2152448

## #6 — Pedda, 2008-11-06T12:38Z

Posta koden för formuläret och även din switch sats så vi får se hur du har gjort, så ska vi nog hitta felet enklare.

Permalänk: https://www.webforum.nu/p/2152455

## #7 — tranceformer, 2008-11-06T12:57Z

Absolut. :)
Här är dropdown-menyn i formuläret

```
<select name="val" id="val">
<option value="ett" name="ett"> val1 </option>
<option value="tva" name="tva"> val2 </option>
</select>
```

Här är sidan som tar emot och skickar vidare till databasen.

```php
$val = mysql_real_escape_string($_POST["val"]);
$namn = mysql_real_escape_string($_POST["namn"]);
$gatuadress = mysql_real_escape_string($_POST["gatuadress"]);
$postnummer = mysql_real_escape_string($_POST["postnummer"]);
$ort = mysql_real_escape_string($_POST["ort"]);
$tel = mysql_real_escape_string($_POST["tel"]);
$epost = mysql_real_escape_string($_POST["epost"]);
$meddelande = mysql_real_escape_string($_POST["meddelande"]);

switch ($_POST["val"]){
case 'ett':
    $nykund = mysql_query("INSERT INTO blabla (det här vet jag att det fungerar) 
VALUES(det här vet jag att det fungerar)")
		
or die("Kunde inte lägga till kund:<br />" . mysql_error());
break;
case 'tva':
    $nykund = mysql_query("INSERT INTO blablatva (det här vet jag att det fungerar) 
VALUES(det här vet jag att det fungerar)")
		
or die("Kunde inte lägga till kund:<br />" . mysql_error());
break;
default:
echo "<p>Du måste välja ett val.</p><br />";
}
```

Det är inga problem med koden som lägger till infon i tabellen, för det fungerade innan jag la in switch-satsen.

Permalänk: https://www.webforum.nu/p/2152460

## #8 — Pedda, 2008-11-06T13:11Z

Ser rätt ut, det enda jag kan tänka mig är att du skickar ditt formulär med GET istället för POST.

Permalänk: https://www.webforum.nu/p/2152462

## #9 — tranceformer, 2008-11-06T13:16Z

Nej tyvärr.  :l

Jag har även testat att skriva 

```php
switch ($camp){...}
```

men det fungerade inte heller.

Permalänk: https://www.webforum.nu/p/2152463

## #10 — fiddler, 2008-11-06T13:21Z

Prova att skriva ut "val" innan switch-satsen för att se om du skickar med något överhuvudtaget.

```php
print $_POST['val'];
```

Permalänk: https://www.webforum.nu/p/2152465

## #11 — tranceformer, 2008-11-06T13:25Z

> **fiddler skrev:**
>
> Prova att skriva ut "val" innan switch-satsen för att se om du skickar med något överhuvudtaget.
>
> ```php
> print $_POST['val'];
> ```

Ja den skriver ut rätt val.

Men följer value="ett" med när skriver ($\_POST\['val'\])? Måste man inte säga till att den ska ta med "value"?
Vet inte hur sånt där fungerar tyvärr.

Permalänk: https://www.webforum.nu/p/2152467

## #12 — Pedda, 2008-11-06T13:57Z

Har formuläret metoden POST så får du värdena i variabeln $\_POST\['namnet'\]
Använder du metoden GET så får du använda $\_GET\['namnet'\] istället. Och du ser även variablerna och värdena i adressfältet om du använder GET. (t.ex <https://www.minsida.com/sidan.php?namn=värde>)

Jag ser faktiskt inget fel i din kod.
Funkar inte den här switch satsen heller om du sparar den i en ny fil?

```php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
</head>

<body>
<?php
switch ($_POST["val"])
{
	case 'ett':
	    echo 'ett';
		break;
	case 'tva':
	    echo 'två';
		break;
	default:
		echo "<p>Du måste välja ett val.</p><br />";
}  
?>
<form method="post">
	<select name="val">
		<option value="ett">val1</option>
		<option value="tva">val2</option>
	</select>
	<input name="Button1" type="submit" value="button" />
</form>
</body>

</html>
```

Permalänk: https://www.webforum.nu/p/2152473

## #13 — tranceformer, 2008-11-06T14:17Z

> **Pedda skrev:**
>
> Funkar inte den här switch satsen heller om du sparar den i en ny fil?

Jo den fungerade. Blir aningens frustrerad.

Jag är väldigt tacksam över att ni hjälper mig!

Permalänk: https://www.webforum.nu/p/2152478

## #14 — tranceformer, 2008-11-06T17:07Z

Nu funkar det, antar att den inte hade uppdaterats som den skulle.  :r 

Tack så hemskt mycket för hjälpen!  :)

Permalänk: https://www.webforum.nu/p/2152496

---

Tråden på webben: https://www.webforum.nu/amne/php/175189-olika-options-olika-tabeller-hur
