---
title: "Posta formulär till olika tabeller, samtidigt"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/166241-posta-formulär-till-olika-tabeller-samtidigt"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Guldstrand"
published: "2007-11-08T23:58:38.000Z"
updated: "2007-11-09T06:53:06.000Z"
replies: 3
views: 578
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/databaser-sql/166241-posta-formulär-till-olika-tabeller-samtidigt"
---

# Posta formulär till olika tabeller, samtidigt

## #1 — Guldstrand, 2007-11-08T23:58Z

Någon som kan ge ett exempel på hur man kan posta till olika tabeller samtidigt, via ett formulär!?

Dessa tabeller finns:

```php
CREATE TABLE `serier` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `titel` varchar(100) NOT NULL default '',
  `datum` datetime NOT NULL default '0000-00-00 00:00:00',
  `handling` text NOT NULL,
  `bild` varchar(100) NOT NULL default '',
  `speltid` varchar(5) NOT NULL default '',
  `skapad` date NOT NULL default '0000-00-00',
  `medlem` tinyint(4) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id`),
  KEY `titel` (`titel`)

CREATE TABLE `serie_kategori` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `namn` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`id`),
  KEY `namn` (`namn`)

CREATE TABLE `serie_kategori_mix` (
  `serie` int(10) unsigned NOT NULL default '0',
  `kategori` int(10) unsigned NOT NULL default '0',
  KEY `serie` (`serie`,`kategori`)

CREATE TABLE `serie_skadespelare_mix` (
  `serie` int(10) unsigned NOT NULL default '0',
  `skadespelare` int(10) unsigned NOT NULL default '0',
  KEY `serie` (`serie`,`skadespelare`)

CREATE TABLE `skadespelare` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `namn` varchar(50) NOT NULL default '',
  `fodd` date NOT NULL default '0000-00-00',
  `dod` date NOT NULL default '0000-00-00',
  `land` int(10) unsigned NOT NULL default '0',
  `foto` varchar(100) NOT NULL default '',
  `biografi` text NOT NULL,
  `tillagd` datetime NOT NULL default '0000-00-00 00:00:00',
  `medlem` tinyint(4) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id`),
  KEY `namn` (`namn`)
```

När jag ska lägga till en ny serie, så vill jag också att resp. skådespelare samt kategorier (som visas i drop-down menyer) skall sparas i länk-tabellerna. \*lite svårt att förklara\*

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

## #2 — @nders, 2007-11-09T04:39Z

Det är ju bara att exekvera x antal insert-frågor.

```
insert into tabell1 ...
insert into tabell2 ...
insert into tabell3 ...
```

Vad är problemet?

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

## #3 — Guldstrand, 2007-11-09T05:56Z

> **@nders skrev:**
>
> Det är ju bara att exekvera x antal insert-frågor.
>
> ```
> insert into tabell1 ...
> insert into tabell2 ...
> insert into tabell3 ...
> ```
>
> Vad är problemet?

  :x 
Problemet är att jag inte har arbetat med detta tidigare.

Är det ok att göra såhär:

```php
<?php
include("link.php");

if (isset($_POST['submit']))
{

	$title = ucfirst($_POST['title']);
       $handling = ucfirst($_POST['handling']);

	mysql_query("INSERT INTO titles values
	(
	0,
	'$title',
       '$handling',
	'{$_POST['year']}',
	'{$_POST['lang']}',
	'{$_POST['url']}',
	'{$_POST['image']}',
	0,
	0
	)") or die(mysql_error());

	$lastid = mysql_insert_id();

	mysql_query("INSERT INTO directormix values
	(
	'0',
	'$lastid',
	'{$_POST['dir1']}'
	)") or die(mysql_error());;

	if ($_POST['dir2'] != "Tom")
	{
	mysql_query("insert into directormix values
	(
	'0',
	'$lastid',
	'{$_POST['dir2']}'
	)") or die(mysql_error());;
	}

	if ($_POST['dir3'] != "Tom")
	{
	mysql_query("insert into directormix values
	(
	'0',
	'$lastid',
	'{$_POST['dir3']}'
	)") or die(mysql_error());;
	}

	if ($_POST['dir4'] != "Tom")
	{
	mysql_query("insert into directormix values
	(
	'0',
	'$lastid',
	'{$_POST['dir4']}'
	)") or die(mysql_error());;
	}

	if ($_POST['dir5'] != "Tom")
	{
	mysql_query("insert into directormix values
	(
	'0',
	'$lastid',
	'{$_POST['dir5']}'
	)") or die(mysql_error());;
	}

	mysql_query("insert into genremix values
	(
	'0',
	'{$_POST['gen1']}',
	'$lastid'
	)") or die(mysql_error());;

	if ($_POST['gen2'] != "Tom")
	{
	mysql_query("insert into genremix values
	(
	'0',
	'{$_POST['gen2']}',
	'$lastid'
	)") or die(mysql_error());;
	}

	if ($_POST['gen3'] != "Tom")
	{
	mysql_query("insert into genremix values
	(
	'0',
	'{$_POST['gen3']}',
	'$lastid'
	)") or die(mysql_error());;
	}

	if ($_POST['gen4'] != "Tom")
	{
	mysql_query("insert into genremix values
	(
	'0',
	'{$_POST['gen4']}',
	'$lastid'
	)") or die(mysql_error());;
	}
}
?>

<?php
if ($_POST['name'] && $_POST['nationality'])
{

	mysql_query("
	INSERT INTO directors
	VALUES (
	0,
	'{$_POST['name']}',
	'{$_POST['nationality']}',
	'{$_POST['year']}',
	'{$_POST['month']}',
	'{$_POST['day']}',
       '{$_POST['bild']}'
	)") or die(mysql_error());
	echo "Skådespelare sparad...";
	echo "<hr>";
}
?>

<form name="add" method="post" action="test.php">
<table width="600" border="0" bordercolor="#666666">
  <tr bgcolor="#CCCCCC">
    <td><span class="style8">L&Auml;GG TILL SERIE </span></td>
    <td><span class="style7"></span></td>
  </tr>
  <tr>
    <td width="38%"><strong>Namn (titel):</strong></td>
    <td width="62%"><input name="title" type="text" class="formfield" size="30" /></td>
  </tr>
  <tr>
    <td bgcolor="#666666">&nbsp;</td>
    <td bgcolor="#666666">&nbsp;</td>
  </tr>
  
  <tr>
    <td><strong>Sk&aring;despelare:</strong></td>
    <td><select name="dir1" size="1" class="formdropdown" id="<?php echo $_SERVER['php_self'] ?>">
      <?php
$sql = mysql_query("SELECT id,name FROM directors ORDER BY name ASC");
while($rad = mysql_fetch_array($sql))
{
echo "<option value='{$rad[0]}'>" . $rad[1] . "</option>";
}
?>
        </select>
      <select name="dir2" size="1" class="formdropdown" id="dir2">
      <option>Tom</option>
      <?php
$sql = mysql_query("SELECT id,name FROM directors ORDER BY name ASC");
while($rad = mysql_fetch_array($sql))
{
echo "<option value='{$rad[0]}'>" . $rad[1] . "</option>";
}
?>
    </select>
      <select name="dir3" size="1" class="formdropdown" id="dir3">
        <option>Tom</option>
        <?php
$sql = mysql_query("SELECT id,name FROM directors ORDER BY name ASC");
while($rad = mysql_fetch_array($sql))
{
echo "<option value='{$rad[0]}'>" . $rad[1] . "</option>";
}
?>
      </select>
      <select name="dir4" size="1" class="formdropdown" id="dir4">
        <option>Tom</option>
        <?php
$sql = mysql_query("SELECT id,name FROM directors ORDER BY name ASC");
while($rad = mysql_fetch_array($sql))
{
echo "<option value='{$rad[0]}'>" . $rad[1] . "</option>";
}
?>
      </select>
      <select name="dir5" size="1" class="formdropdown" id="dir5">
        <option>Tom</option>
        <?php
$sql = mysql_query("SELECT id,name FROM directors ORDER BY name ASC");
while($rad = mysql_fetch_array($sql))
{
echo "<option value='{$rad[0]}'>" . $rad[1] . "</option>";
}
?>
      </select>
      <select name="dir6" size="1" class="formdropdown" id="dir6">
        <option>Tom</option>
        <?php
$sql = mysql_query("SELECT id,name FROM directors ORDER BY name ASC");
while($rad = mysql_fetch_array($sql))
{
echo "<option value='{$rad[0]}'>" . $rad[1] . "</option>";
}
?>
      </select>
      <select name="dir7" size="1" class="formdropdown" id="dir7">
        <option>Tom</option>
        <?php
$sql = mysql_query("SELECT id,name FROM directors ORDER BY name DESC");
while($rad = mysql_fetch_array($sql))
{
echo "<option value='{$rad[0]}'>" . $rad[1] . "</option>";
}
?>
      </select></td>
  </tr>
  <tr bgcolor="#666666">
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><strong>Kategori:</strong></td>
    <td><select name="gen1" size="1" class="formdropdown" id="gen1">
      <?php
$sql = mysql_query("SELECT id,genre FROM genre ORDER BY genre");
while($rad = mysql_fetch_array($sql))
{
echo "<option value='{$rad[0]}'>" . $rad[1] . "</option>";
}
?>
        </select>
      <select name="gen2" size="1" class="formdropdown" id="gen2">
        <option>Tom</option>
        <?php
$sql = mysql_query("SELECT id,genre FROM genre ORDER BY genre");
while($rad = mysql_fetch_array($sql))
{
echo "<option value='{$rad[0]}'>" . $rad[1] . "</option>";
}
?>
      </select>
      <select name="gen3" size="1" class="formdropdown" id="gen3">
        <option>Tom</option>
        <?php
$sql = mysql_query("SELECT id,genre FROM genre ORDER BY genre");
while($rad = mysql_fetch_array($sql))
{
echo "<option value='{$rad[0]}'>" . $rad[1] . "</option>";
}
?>
      </select>
      <select name="gen4" size="1" class="formdropdown" id="gen4">
        <option>Tom</option>
        <?php
$sql = mysql_query("SELECT id,genre FROM genre ORDER BY genre");
while($rad = mysql_fetch_array($sql))
{
echo "<option value='{$rad[0]}'>" . $rad[1] . "</option>";
}
?>
      </select></td>
  </tr>
  <tr bgcolor="#666666">
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><strong>S&auml;ndes f&ouml;rsta g&aring;ngen:</strong></td>
    <td><select name="select" size="1" class="formdropdown" id="select">
      <?php
for($i=1930;$i<=date("Y");$i++)
{
echo "<option>" . $i . "</option>";
}
?>
        </select></td>
  </tr>
  <tr>
    <td><strong>Spr&aring;k:</strong></td>
    <td><select name="lang" size="1" class="formdropdown" id="lang">
      <?php
$sql = mysql_query("SELECT id, language FROM languages ORDER BY id");
while($rad = mysql_fetch_array($sql))
{
echo "<option value='{$rad[0]}'>" . $rad[1] . "</option>";
}
?>
        </select></td>
  </tr>
  <tr bgcolor="#666666">
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><strong>Handling:</strong></td>
    <td><textarea name="handling" cols="60" rows="6" class="formfield"></textarea></td>
  </tr>
  <tr bgcolor="#666666">
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><strong>IMDb:</strong></td>
    <td><input name="url" type="text" class="formfield" id="url" size="30" />
    <br />
      <span class="style4">(ex. http://www.imdb.com/title/<strong>tt0118480</strong>)</span></td>
  </tr>
  <tr>
    <td><strong>Bild:</strong></td>
    <td><input name="image" type="text" class="formfield" id="image" size="30" />
    <br />
      <span class="style6">(Direktlänk till bild.)</span></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr bgcolor="#999999">
    <td>&nbsp;</td>
    <td><input name="submit" type="submit" class="formbutton" id="submit" value="lägg till serie" /></td>
  </tr>
</table>
</form>
<br><br>

<form name="add" method="post" action="test.php">

<table width="600" border="0" bordercolor="#666666">
  <tr bgcolor="#999999">
    <td><span class="style8 style10">L&Auml;GG TILL SK&Aring;DESPELARE </span></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><strong>Namn:</strong></td>
    <td><input name="name" type="text" class="formfield" size="30" /></td>
  </tr>
  <tr bgcolor="#666666">
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><strong>Nationalitet:</strong></td>
    <td><input name="nationality" type="text" class="formfield" size="30" /></td>
  </tr>
  <tr bgcolor="#666666">
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><strong>F&ouml;dd:</strong></td>
    <td><select name="year" size="1" class="formdropdown" id="year">
      <?php for($i=1900;$i<=date("Y");$i++) echo "<option value=$i>$i</option>" ?>
        </select>
      <select name="month" size="1" class="formdropdown" id="month">
        <?php for($i=0;$i<=12;$i++) echo "<option value=$i>$i</option>" ?>
            </select>
      <select name="day" size="1" class="formdropdown" id="day">
        <?php for($i=0;$i<=31;$i++) echo "<option value=$i>$i</option>" ?>
            </select></td>
  </tr>
  <tr bgcolor="#666666">
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  
  <tr>
    <td><strong>Bild:</strong></td>
    <td><input name="bild" type="text" class="formfield" size="30" /></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr bgcolor="#999999">
    <td>&nbsp;</td>
    <td><input name="sumbit" type="submit" class="formbutton" value="lägg till" /></td>
  </tr>
</table>
</form>
```

..eller finns det ett "bättre" sätt?  :r

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

## #4 — @nders, 2007-11-09T06:53Z

Så länge SQL-frågorna blir korrekta så är det bara att köra på...

Vi vet ju inte vad några variabler innehåller (och inte kan jag något om php heller), men vad gäller SQL-delen är det inte så mycket svårare än att sätta ihop SQL-frågorna och exekvera dem en och en.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/166241-posta-formulär-till-olika-tabeller-samtidigt
