---
title: "ForEach?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/64344-foreach"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Asa"
published: "2003-01-09T21:50:53.000Z"
updated: "2003-01-10T21:56:48.000Z"
replies: 8
views: 266
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/64344-foreach"
---

# ForEach?

## #1 — Asa, 2003-01-09T21:50Z

Har en adminsida där jag lägger till flera svar. Helt olika varje gång. Alltså inget bestämt.

```
  <form action="admin.php?action=save" method="post">
    <input type="hidden" name="fraga" value="<?=$fraga?>">
    <?$sort = $antal+1;
    for($i = 1;$i < $sort ;$i++){?>
    <tr>
      <td><b>Svar <?=$i?></b><br><input type="text" name="svar<?=$i?>" size="40"> </td>
    </tr>
    <?}?>
    <tr>
      <td colspan="2" height="25" style="border-bottom: 1px solid #000000" valign="top"><input type="submit" value="Slutför"></td>
    </tr>
  </form>
```

Sen vill jag spara detta. Har denna kod nu men hur gör jag för alla svarsalternativen?

```
   mysql_query("Insert Into fraga(fraga) Values('$fraga')");?>
   <script>location.href='admin.php';</script>
```

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

## #2 — Matte, 2003-01-09T23:30Z

Nu skickar du från formuläret $svar1, $svar2, $svar3 o.s.v
Hur hade du tänkt spara dom?
Har du olika kolumner som heter svar1, svar2 o.s.v ?

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

## #3 — Asa, 2003-01-10T08:35Z

Nej! Jag har id, pollid, klick och svar. Det ska alltså läggas till alla. Man vet ej hur många svar det är för man kan ha hur många svar som helts. Antalet får man från steget före det som är i min kod ovan!

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

## #4 — Asa, 2003-01-10T15:03Z

Har jag inte förklarar riktigt så ni föstår?

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

## #5 — Matte, 2003-01-10T16:30Z

Jag har nog inte förstått, men så här har jag uppfattat det.

Du har en tabell (fraga) där du lagrar frågan och en tabell (svar) där du lagrar svaren.

fältet pollid i tabellen svar motsvaras av id i tabellen fraga.

Då borde det gå med något liknande det här:

```
mysql_query("Insert Into fraga(fraga) Values('$fraga')");

$q_num = mysql_insert_id();

foreach($_POST as $key => $val){
	if (substr($key, 0, 4) == "svar"){
		mysql_query("INSERT INTO svar(pollid, svar) VALUES($qnum, '$val')");
	}
}
```

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

## #6 — Asa, 2003-01-10T17:05Z

För varje svar så är det en siffra när man skriver de svar man vill ha! Hur får man med den siffran? SKa sparas som svarId för varje svar! Bestämmer ordningen på svaren! Med detta?

```
   mysql_query("Insert Into fraga(fraga) Values('$fraga')");
   $q_num = mysql_insert_id();

   foreach($_POST as $key => $val){
     if (substr($key, 0, 4) == "svar"){
       $svarId = substr($key, 5,3);
       mysql_query("INSERT INTO svar(pollid, svar, svarId) VALUES($q_num,'$val',$svarId)");
     }
   }
```

Hur som helst sparas frågan men inte svaren!

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

## #7 — Matte, 2003-01-10T21:52Z

```
$svarId = substr($key,4);
```

 
Är pollid och svarId av formatet INT, annars får du sätta citationstecken runt dom: VALUES('$q_num','$val','$svarId').

Lite felsökning:

```
   foreach($_POST as $key => $val){
      if (substr($key, 0, 4) == "svar"){
         $svarId = substr($key, 4);
         $sql = "INSERT INTO svar(pollid, svar, svarId) VALUES($q_num,'$val',$svarId)";
         echo "SQL: $sql <br>";
         mysql_query($sql) or die(mysql_error());
     }
   }
```

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

## #8 — Asa, 2003-01-10T21:54Z

Dom är INT. SKa testa och återkommer strax!

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

## #9 — Asa, 2003-01-10T21:56Z

Det fungerade nu! Vad var det som var fel?

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

---

Tråden på webben: https://www.webforum.nu/amne/php/64344-foreach
