webForumDet fria alternativet

Lägger inte till?

24 svar · 509 visningar · startad av streetrobban

streetrobbanMedlem sedan jan. 20011 140 inlägg
#1

Tjenare, undrar varför inte denna kod funkar.

<?php
// Öppna databasen
require 'inc/db.php';

$sql = "INSERT INTO bokningar(tid,datum,hytt_antal,hytt_kategori,förnamn,efternamn,personnr,nationalitet,beställning_flyg,beställning_flyg_platser,beställning_buss,beställning_buss_platser,företag,namn,adress,postnr_ort,telefon,fax,orgnr,email,kod) VALUES ";
$i = 0;
foreach($_POST['förnamn'] as $förnamn, $_POST['efternamn'] as $efternamn, $_POST['personnr'] as $personnr, $_POST['nationalitet'] as $nationalitet)
{
	$tid = $_POST['tid'][$i];
	$datum = $_POST['datum'][$i];
	$hytt_antal = $_POST['hytt_antal'][$i];
	$hytt_kategori = $_POST['hytt_kategori'][$i];
	$beställning_flyg = $_POST['beställning_flyg'][$i];
	$beställning_flyg_platser = $_POST['beställning_flyg_platser'][$i];
	$beställning_buss = $_POST['beställning_buss'][$i];
	$beställning_buss_platser = $_POST['beställning_buss_platser'][$i];
	$företag = $_POST['företag'][$i];
	$namn = $_POST['namn'][$i];
	$adress = $_POST['adress'][$i];
	$postnr_ort = $_POST['postnr_ort'][$i];
	$telefon = $_POST['telefon'][$i];
	$fax = $_POST['fax'][$i];
	$orgnr = $_POST['orgnr'][$i];
	$email = $_POST['email'][$i];
	$kod = $_POST['kod'][$i];
	if($i == 0)
		$sql .= "('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	else
		$sql .= ",('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	$i++;
}
mysql_query($sql) or die("SQL-error: ".mysql_error());

// Skicka sedan vidare
echo "<script language=JavaScript>"; 
echo "self.location.replace('index.php')"; 
echo "</script>";

// Stäng databasen
mysql_close($open);
?>

Får detta felmeddelandet.


Parse error: syntax error, unexpected ',', expecting ')' in c:\Program\wamp\www\bokning.php on line 15

Tack på förhand!

fiddlerMedlem sedan juli 20023 617 inlägg
#2

Vilken är rad 15?

beställning_flyg_p latser ;)

streetrobbanMedlem sedan jan. 20011 140 inlägg
#3

Jag vet inte varför det blir mellanslag i exemplet ovan. Men det är det inte i koden!

Rad 15 är följande.

foreach($_POST['förnamn'] as $förnamn, $_POST['efternamn'] as $efternamn, $_POST['personnr'] as $personnr, $_POST['nationalitet'] as $nationalitet)
MatteMedlem sedan aug. 20002 975 inlägg
#4

Du kan inte köra forech på mer än en array i taget.

Beräkna antalet på t.ex $_POST['förnamn'], och kör en for-sats istället.

for ($i=0; $i<count($_POST['förnamn']); $i++)
{
    $tid = $_POST['tid'][$i];
    $datum = $_POST['datum'][$i];
.
.
.
streetrobbanMedlem sedan jan. 20011 140 inlägg
#5

Matte: Så du menar något sånt här? Fast för samtliga fält som inte ska skrivas över? (förnamn, efternamn, personnr, nationalitet)

for ($i=0; $i<count($_POST['[b]förnamn[/b]']); $i++)
{
	$tid = $_POST['tid'][$i];
	$datum = $_POST['datum'][$i];
	$hytt_antal = $_POST['hytt_antal'][$i];
	$hytt_kategori = $_POST['hytt_kategori'][$i];
	$beställning_flyg = $_POST['beställning_flyg'][$i];
	$beställning_flyg_platser = $_POST['beställning_flyg_platser'][$i];
	$beställning_buss = $_POST['beställning_buss'][$i];
	$beställning_buss_platser = $_POST['beställning_buss_platser'][$i];
	$företag = $_POST['företag'][$i];
	$namn = $_POST['namn'][$i];
	$adress = $_POST['adress'][$i];
	$postnr_ort = $_POST['postnr_ort'][$i];
	$telefon = $_POST['telefon'][$i];
	$fax = $_POST['fax'][$i];
	$orgnr = $_POST['orgnr'][$i];
	$email = $_POST['email'][$i];
	$kod = $_POST['kod'][$i];
	if($i == 0)
		$sql .= "('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	else
		$sql .= ",('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	$i++;
}

for ($i=0; $i<count($_POST['[b]efternamn[/b]']); $i++)
{
	$tid = $_POST['tid'][$i];
	$datum = $_POST['datum'][$i];
	$hytt_antal = $_POST['hytt_antal'][$i];
	$hytt_kategori = $_POST['hytt_kategori'][$i];
	$beställning_flyg = $_POST['beställning_flyg'][$i];
	$beställning_flyg_platser = $_POST['beställning_flyg_platser'][$i];
	$beställning_buss = $_POST['beställning_buss'][$i];
	$beställning_buss_platser = $_POST['beställning_buss_platser'][$i];
	$företag = $_POST['företag'][$i];
	$namn = $_POST['namn'][$i];
	$adress = $_POST['adress'][$i];
	$postnr_ort = $_POST['postnr_ort'][$i];
	$telefon = $_POST['telefon'][$i];
	$fax = $_POST['fax'][$i];
	$orgnr = $_POST['orgnr'][$i];
	$email = $_POST['email'][$i];
	$kod = $_POST['kod'][$i];
	if($i == 0)
		$sql .= "('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	else
		$sql .= ",('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	$i++;
}
MatteMedlem sedan aug. 20002 975 inlägg
#6

Du får ta bort $i++ som du har sist. Uppräkningen görs redan i for-satsen.

streetrobbanMedlem sedan jan. 20011 140 inlägg
#7

Det funkar inte riktigt. Jag använder mig av följande kod för att lägga till i databasen.

<?php
// Öppna databasen
require 'inc/db.php';

$sql = "INSERT INTO bokningar(tid,datum,hytt_antal,hytt_kategori,förnamn,efternamn,personnr,nationalitet,beställning_flyg,beställning_flyg_platser,beställning_buss,beställning_buss_platser,företag,namn,adress,postnr_ort,telefon,fax,orgnr,email,kod) VALUES ";
$i = 0;
for ($i=0; $i<count($_POST['förnamn']);)
{
	$tid = $_POST['tid'][$i];
	$datum = $_POST['datum'][$i];
	$förnamn = $_POST['förnamn'][$i];
	$efternamn = $_POST['efternamn'][$i];
	$personnr = $_POST['personnr'][$i];
	$nationalitet = $_POST['nationalitet'][$i];
	$hytt_antal = $_POST['hytt_antal'][$i];
	$hytt_kategori = $_POST['hytt_kategori'][$i];
	$beställning_flyg = $_POST['beställning_flyg'][$i];
	$beställning_flyg_platser = $_POST['beställning_flyg_platser'][$i];
	$beställning_buss = $_POST['beställning_buss'][$i];
	$beställning_buss_platser = $_POST['beställning_buss_platser'][$i];
	$företag = $_POST['företag'][$i];
	$namn = $_POST['namn'][$i];
	$adress = $_POST['adress'][$i];
	$postnr_ort = $_POST['postnr_ort'][$i];
	$telefon = $_POST['telefon'][$i];
	$fax = $_POST['fax'][$i];
	$orgnr = $_POST['orgnr'][$i];
	$email = $_POST['email'][$i];
	$kod = $_POST['kod'][$i];
	if($i == 0)
		$sql .= "('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	else
		$sql .= ",('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	$i++;
}

for ($i=0; $i<count($_POST['efternamn']);)
{
	$tid = $_POST['tid'][$i];
	$datum = $_POST['datum'][$i];
	$förnamn = $_POST['förnamn'][$i];
	$efternamn = $_POST['efternamn'][$i];
	$personnr = $_POST['personnr'][$i];
	$nationalitet = $_POST['nationalitet'][$i];
	$hytt_antal = $_POST['hytt_antal'][$i];
	$hytt_kategori = $_POST['hytt_kategori'][$i];
	$beställning_flyg = $_POST['beställning_flyg'][$i];
	$beställning_flyg_platser = $_POST['beställning_flyg_platser'][$i];
	$beställning_buss = $_POST['beställning_buss'][$i];
	$beställning_buss_platser = $_POST['beställning_buss_platser'][$i];
	$företag = $_POST['företag'][$i];
	$namn = $_POST['namn'][$i];
	$adress = $_POST['adress'][$i];
	$postnr_ort = $_POST['postnr_ort'][$i];
	$telefon = $_POST['telefon'][$i];
	$fax = $_POST['fax'][$i];
	$orgnr = $_POST['orgnr'][$i];
	$email = $_POST['email'][$i];
	$kod = $_POST['kod'][$i];
	if($i == 0)
		$sql .= "('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	else
		$sql .= ",('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	$i++;
}

for ($i=0; $i<count($_POST['personnr']);)
{
	$tid = $_POST['tid'][$i];
	$datum = $_POST['datum'][$i];
	$förnamn = $_POST['förnamn'][$i];
	$efternamn = $_POST['efternamn'][$i];
	$personnr = $_POST['personnr'][$i];
	$nationalitet = $_POST['nationalitet'][$i];
	$hytt_antal = $_POST['hytt_antal'][$i];
	$hytt_kategori = $_POST['hytt_kategori'][$i];
	$beställning_flyg = $_POST['beställning_flyg'][$i];
	$beställning_flyg_platser = $_POST['beställning_flyg_platser'][$i];
	$beställning_buss = $_POST['beställning_buss'][$i];
	$beställning_buss_platser = $_POST['beställning_buss_platser'][$i];
	$företag = $_POST['företag'][$i];
	$namn = $_POST['namn'][$i];
	$adress = $_POST['adress'][$i];
	$postnr_ort = $_POST['postnr_ort'][$i];
	$telefon = $_POST['telefon'][$i];
	$fax = $_POST['fax'][$i];
	$orgnr = $_POST['orgnr'][$i];
	$email = $_POST['email'][$i];
	$kod = $_POST['kod'][$i];
	if($i == 0)
		$sql .= "('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	else
		$sql .= ",('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	$i++;
}

for ($i=0; $i<count($_POST['nationalitet']);)
{
	$tid = $_POST['tid'][$i];
	$datum = $_POST['datum'][$i];
	$förnamn = $_POST['förnamn'][$i];
	$efternamn = $_POST['efternamn'][$i];
	$personnr = $_POST['personnr'][$i];
	$nationalitet = $_POST['nationalitet'][$i];
	$hytt_antal = $_POST['hytt_antal'][$i];
	$hytt_kategori = $_POST['hytt_kategori'][$i];
	$beställning_flyg = $_POST['beställning_flyg'][$i];
	$beställning_flyg_platser = $_POST['beställning_flyg_platser'][$i];
	$beställning_buss = $_POST['beställning_buss'][$i];
	$beställning_buss_platser = $_POST['beställning_buss_platser'][$i];
	$företag = $_POST['företag'][$i];
	$namn = $_POST['namn'][$i];
	$adress = $_POST['adress'][$i];
	$postnr_ort = $_POST['postnr_ort'][$i];
	$telefon = $_POST['telefon'][$i];
	$fax = $_POST['fax'][$i];
	$orgnr = $_POST['orgnr'][$i];
	$email = $_POST['email'][$i];
	$kod = $_POST['kod'][$i];
	if($i == 0)
		$sql .= "('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	else
		$sql .= ",('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	$i++;
}
mysql_query($sql) or die("SQL-error: ".mysql_error());

// Skicka sedan vidare
echo "<script language=JavaScript>"; 
echo "self.location.replace('index.php')"; 
echo "</script>";

// Stäng databasen
mysql_close($open);
?>

Formuläret ser ut så här.

<table border="0" width="700px" cellspacing="2" cellpadding="3">
<tr>
	<td bgcolor="#F2F0F0" colspan="4" valign="top">
	<span class="svar">Steg 2, Antal personer</span>
	</td>
</tr>
<tr>
	<td bgcolor="#FAFAFA" valign="top">
	Förnamn<br/>
	<input type="text" name="förnamn[]" class="input" size="10">
	</td>
	<td bgcolor="#FAFAFA" valign="top">	
	Efternamn<br/>
	<input type="text" name="efternamn[]" class="input" size="10">
	</td>
	<td bgcolor="#FAFAFA" valign="top">	
	Personnr<br/>
	<input type="text" name="personnr[]" class="input" size="10">
	</td>
	<td bgcolor="#FAFAFA" valign="top">
	Nationalitet<br/>
	<input type="text" name="nationalitet[]" class="input" size="10"><br/>
	<br/>
	
	KOD<br/>
	<input type="text" name="kod" class="input" size="20" value="<?php echo "$kod"; ?>"><br/>
	</td>
</tr>
</table>

Och jag får följande felmeddelande.

SQL-error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('Erik','Edman','8104200611','Sverige','1','2','3','V','H','3','O','3','A','C' at line 1
MatteMedlem sedan aug. 20002 975 inlägg
#8

Skriv ut hela SQL-frågan inan du kör den.

Hur ser den ut ?

streetrobbanMedlem sedan jan. 20011 140 inlägg
#9

Detta är koden som står i inc/db.php, om det var det du menade.

<?php
// Anslut till databasen
$open = mysql_connect("localhost","","") or die ("Kunde inte ansluta till databasen, försök igen senare.");

// Välj rätt databas
mysql_select_db("databasen") or die ("Kunde inte ansluta till databasen, försök igen senare.");
?>
MatteMedlem sedan aug. 20002 975 inlägg
#10

Jag menar snarare

echo $sql;
streetrobbanMedlem sedan jan. 20011 140 inlägg
#11

Detta är PHP koden.

<?php
// Öppna databasen
require 'inc/db.php';

$sql = "INSERT INTO bokningar(tid,datum,hytt_antal,hytt_kategori,förnamn,efternamn,personnr,nationalitet,beställning_flyg,beställning_flyg_platser,beställning_buss,beställning_buss_platser,företag,namn,adress,postnr_ort,telefon,fax,orgnr,email,kod) VALUES ";
$i = 0;
for ($i=0; $i<count($_POST['förnamn']);)
{
	$tid = $_POST['tid'][$i];
	$datum = $_POST['datum'][$i];
	$förnamn = $_POST['förnamn'][$i];
	$efternamn = $_POST['efternamn'][$i];
	$personnr = $_POST['personnr'][$i];
	$nationalitet = $_POST['nationalitet'][$i];
	$hytt_antal = $_POST['hytt_antal'][$i];
	$hytt_kategori = $_POST['hytt_kategori'][$i];
	$beställning_flyg = $_POST['beställning_flyg'][$i];
	$beställning_flyg_platser = $_POST['beställning_flyg_platser'][$i];
	$beställning_buss = $_POST['beställning_buss'][$i];
	$beställning_buss_platser = $_POST['beställning_buss_platser'][$i];
	$företag = $_POST['företag'][$i];
	$namn = $_POST['namn'][$i];
	$adress = $_POST['adress'][$i];
	$postnr_ort = $_POST['postnr_ort'][$i];
	$telefon = $_POST['telefon'][$i];
	$fax = $_POST['fax'][$i];
	$orgnr = $_POST['orgnr'][$i];
	$email = $_POST['email'][$i];
	$kod = $_POST['kod'][$i];
	if($i == 0)
		$sql .= "('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	else
		$sql .= ",('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	$i++;
}

for ($i=0; $i<count($_POST['efternamn']);)
{
	$tid = $_POST['tid'][$i];
	$datum = $_POST['datum'][$i];
	$förnamn = $_POST['förnamn'][$i];
	$efternamn = $_POST['efternamn'][$i];
	$personnr = $_POST['personnr'][$i];
	$nationalitet = $_POST['nationalitet'][$i];
	$hytt_antal = $_POST['hytt_antal'][$i];
	$hytt_kategori = $_POST['hytt_kategori'][$i];
	$beställning_flyg = $_POST['beställning_flyg'][$i];
	$beställning_flyg_platser = $_POST['beställning_flyg_platser'][$i];
	$beställning_buss = $_POST['beställning_buss'][$i];
	$beställning_buss_platser = $_POST['beställning_buss_platser'][$i];
	$företag = $_POST['företag'][$i];
	$namn = $_POST['namn'][$i];
	$adress = $_POST['adress'][$i];
	$postnr_ort = $_POST['postnr_ort'][$i];
	$telefon = $_POST['telefon'][$i];
	$fax = $_POST['fax'][$i];
	$orgnr = $_POST['orgnr'][$i];
	$email = $_POST['email'][$i];
	$kod = $_POST['kod'][$i];
	if($i == 0)
		$sql .= "('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	else
		$sql .= ",('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	$i++;
}

for ($i=0; $i<count($_POST['personnr']);)
{
	$tid = $_POST['tid'][$i];
	$datum = $_POST['datum'][$i];
	$förnamn = $_POST['förnamn'][$i];
	$efternamn = $_POST['efternamn'][$i];
	$personnr = $_POST['personnr'][$i];
	$nationalitet = $_POST['nationalitet'][$i];
	$hytt_antal = $_POST['hytt_antal'][$i];
	$hytt_kategori = $_POST['hytt_kategori'][$i];
	$beställning_flyg = $_POST['beställning_flyg'][$i];
	$beställning_flyg_platser = $_POST['beställning_flyg_platser'][$i];
	$beställning_buss = $_POST['beställning_buss'][$i];
	$beställning_buss_platser = $_POST['beställning_buss_platser'][$i];
	$företag = $_POST['företag'][$i];
	$namn = $_POST['namn'][$i];
	$adress = $_POST['adress'][$i];
	$postnr_ort = $_POST['postnr_ort'][$i];
	$telefon = $_POST['telefon'][$i];
	$fax = $_POST['fax'][$i];
	$orgnr = $_POST['orgnr'][$i];
	$email = $_POST['email'][$i];
	$kod = $_POST['kod'][$i];
	if($i == 0)
		$sql .= "('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	else
		$sql .= ",('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	$i++;
}

for ($i=0; $i<count($_POST['nationalitet']);)
{
	$tid = $_POST['tid'][$i];
	$datum = $_POST['datum'][$i];
	$förnamn = $_POST['förnamn'][$i];
	$efternamn = $_POST['efternamn'][$i];
	$personnr = $_POST['personnr'][$i];
	$nationalitet = $_POST['nationalitet'][$i];
	$hytt_antal = $_POST['hytt_antal'][$i];
	$hytt_kategori = $_POST['hytt_kategori'][$i];
	$beställning_flyg = $_POST['beställning_flyg'][$i];
	$beställning_flyg_platser = $_POST['beställning_flyg_platser'][$i];
	$beställning_buss = $_POST['beställning_buss'][$i];
	$beställning_buss_platser = $_POST['beställning_buss_platser'][$i];
	$företag = $_POST['företag'][$i];
	$namn = $_POST['namn'][$i];
	$adress = $_POST['adress'][$i];
	$postnr_ort = $_POST['postnr_ort'][$i];
	$telefon = $_POST['telefon'][$i];
	$fax = $_POST['fax'][$i];
	$orgnr = $_POST['orgnr'][$i];
	$email = $_POST['email'][$i];
	$kod = $_POST['kod'][$i];
	if($i == 0)
		$sql .= "('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	else
		$sql .= ",('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	$i++;
}

	echo "$sql";

mysql_query($sql) or die("SQL-error: ".mysql_error());

// Skicka sedan vidare
echo "<script language=JavaScript>"; 
echo "self.location.replace('index.php')"; 
echo "</script>";

// Stäng databasen
mysql_close($open);
?>

Och detta skriver $sql ut.

INSERT INTO bokningar(tid,datum,hytt_antal,hytt_kategori,förnamn,efternamn,personnr,nationalitet,beställning_flyg,beställning_flyg_platser,beställning_buss,beställning_buss_platser,företag,namn,adress,postnr_ort,telefon,fax,orgnr,email,kod) VALUES ('Erik','Edman','7905220611','Sverige','1','2','2','V','I','2','O','2','A','C','S','1','0','0','1','e','2'),('Thierry','Henry','7605440621','Frankrike','7','0','','I','n','','s','','B','l','t','1','8','8','1','r','0'),('','','','',':','0','','P','s','','l','','C','a','a','6','-','-','2','i','0'),('','','','','5','5','','R','b','','o','',' ','e','k',' ','2','2','2','k','5')('Erik','Edman','7905220611','Sverige','1','2','2','V','I','2','O','2','A','C','S','1','0','0','1','e','2'),('Thierry','Henry','7605440621','Frankrike','7','0','','I','n','','s','','B','l','t','1','8','8','1','r','0'),('','','','',':','0','','P','s','','l','','C','a','a','6','-','-','2','i','0'),('','','','','5','5','','R','b','','o','',' ','e','k',' ','2','2','2','k','5')('Erik','Edman','7905220611','Sverige','1','2','2','V','I','2','O','2','A','C','S','1','0','0','1','e','2'),('Thierry','Henry','7605440621','Frankrike','7','0','','I','n','','s','','B','l','t','1','8','8','1','r','0'),('','','','',':','0','','P','s','','l','','C','a','a','6','-','-','2','i','0'),('','','','','5','5','','R','b','','o','',' ','e','k',' ','2','2','2','k','5')('Erik','Edman','7905220611','Sverige','1','2','2','V','I','2','O','2','A','C','S','1','0','0','1','e','2'),('Thierry','Henry','7605440621','Frankrike','7','0','','I','n','','s','','B','l','t','1','8','8','1','r','0'),('','','','',':','0','','P','s','','l','','C','a','a','6','-','-','2','i','0'),('','','','','5','5','','R','b','','o','',' ','e','k',' ','2','2','2','k','5')SQL-error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('Erik','Edman','7905220611','Sverige','1','2','2','V','I','2','O','2','A','C','' at line 1
MatteMedlem sedan aug. 20002 975 inlägg
#12

När du går över till nästa for-sats så lägger du inte till ett kommatecken före i första slingan. Du saknar alltså på flera ställen kommarecken mellan VALUES-parenteserna.

Lägg dina VALUES-grupper (parenteser) i en array istället, och kör implode() på den i slutet.

streetrobbanMedlem sedan jan. 20011 140 inlägg
#13

Hmm jag föstår inte, har börjat om lite nu. Saken med PHP koden nedan är ju att det är fler fält än bara "förnamn" som heter likadant. "efternamn", "personnr" och "nationalitet" också. Hur fasen får jag in det i koden.

<?php
// Öppna databasen
require 'inc/db.php';
 
$sql = "INSERT INTO bokningar(tid,datum,hytt_antal,hytt_kategori,förnamn,efternamn,personnr,nationalitet,beställning_flyg,beställning_flyg_platser,beställning_buss,beställning_buss_platser,företag,namn,adress,postnr_ort,telefon,fax,orgnr,email,kod) VALUES ";
$i = 0;
foreach($_POST['namn'] as $namn)
{
	$tid = $_POST['tid'][$i];
	$datum = $_POST['datum'][$i];
	$förnamn = $_POST['förnamn'][$i];
	$efternamn = $_POST['efternamn'][$i];
	$personnr = $_POST['personnr'][$i];
	$nationalitet = $_POST['nationalitet'][$i];
	$hytt_antal = $_POST['hytt_antal'][$i];
	$hytt_kategori = $_POST['hytt_kategori'][$i];
	$beställning_flyg = $_POST['beställning_flyg'][$i];
	$beställning_flyg_platser = $_POST['beställning_flyg_platser'][$i];
	$beställning_buss = $_POST['beställning_buss'][$i];
	$beställning_buss_platser = $_POST['beställning_buss_platser'][$i];
	$företag = $_POST['företag'][$i];
	$namn = $_POST['namn'][$i];
	$adress = $_POST['adress'][$i];
	$postnr_ort = $_POST['postnr_ort'][$i];
	$telefon = $_POST['telefon'][$i];
	$fax = $_POST['fax'][$i];
	$orgnr = $_POST['orgnr'][$i];
	$email = $_POST['email'][$i];
	$kod = $_POST['kod'][$i];
	if($i == 0)
		$sql .= "('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	else
		$sql .= ",('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	$i++;
}
mysql_query($sql) or die("SQL-error: ".mysql_error());
 
// Skicka sedan vidare
echo "<script language=JavaScript>";
echo "self.location.replace('index.php')";
echo "</script>";
 
// Stäng databasen
mysql_close();
?>

Felmeddelandet på denna koden är så här.


Warning: Invalid argument supplied for foreach() in c:\Program\wamp\www\sidan\boka2.php on line 7
SQL-error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
MatteMedlem sedan aug. 20002 975 inlägg
#14

$_POST['namn'] är ingen array, därav felmeddelandet.

Gå tillbaka till din tidigare kod, men använd en annan kontrollvariabel än $i, eftersom du använder $i i din for-sats, och att den därför kommer att nollställas för varje for-sats, samt att du sannolikt bara kommer att få med varannat värde.

streetrobbanMedlem sedan jan. 20011 140 inlägg
#15

Ok, jag ändrade lite... men får fortfarande felmeddelande. Vad menar du med att ändra kontrollbariabeln? Ska jag hitta på en unik för varje FOR sats?

<?php
// Öppna databasen
require 'inc/db.php';

[B]$vNamn[0] = $_POST['förnamn'];
$vEfternamn[0] = $_POST['efternamn'];
$vPersonnr[0] = $_POST['personnr'];
$vNationalitet[0] = $_POST['nationalitet'];[/B]

$sql = "INSERT INTO bokningar(tid,datum,hytt_antal,hytt_kategori,förnamn,efternamn,personnr,nationalitet,beställning_flyg,beställning_flyg_platser,beställning_buss,beställning_buss_platser,företag,namn,adress,postnr_ort,telefon,fax,orgnr,email,kod) VALUES ";
$i = 0;
for ($i=0; $i<count($_POST['förnamn']);)
{
	$tid = $_POST['tid'][$i];
	$datum = $_POST['datum'][$i];
	$förnamn = $_POST['förnamn'][$i];
	$efternamn = $_POST['efternamn'][$i];
	$personnr = $_POST['personnr'][$i];
	$nationalitet = $_POST['nationalitet'][$i];
	$hytt_antal = $_POST['hytt_antal'][$i];
	$hytt_kategori = $_POST['hytt_kategori'][$i];
	$beställning_flyg = $_POST['beställning_flyg'][$i];
	$beställning_flyg_platser = $_POST['beställning_flyg_platser'][$i];
	$beställning_buss = $_POST['beställning_buss'][$i];
	$beställning_buss_platser = $_POST['beställning_buss_platser'][$i];
	$företag = $_POST['företag'][$i];
	$namn = $_POST['namn'][$i];
	$adress = $_POST['adress'][$i];
	$postnr_ort = $_POST['postnr_ort'][$i];
	$telefon = $_POST['telefon'][$i];
	$fax = $_POST['fax'][$i];
	$orgnr = $_POST['orgnr'][$i];
	$email = $_POST['email'][$i];
	$kod = $_POST['kod'][$i];
	if($i == 0)
		$sql .= "('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	else
		$sql .= ",('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	$i++;
}

for ($i=0; $i<count($_POST['efternamn']);)
{
	$tid = $_POST['tid'][$i];
	$datum = $_POST['datum'][$i];
	$förnamn = $_POST['förnamn'][$i];
	$efternamn = $_POST['efternamn'][$i];
	$personnr = $_POST['personnr'][$i];
	$nationalitet = $_POST['nationalitet'][$i];
	$hytt_antal = $_POST['hytt_antal'][$i];
	$hytt_kategori = $_POST['hytt_kategori'][$i];
	$beställning_flyg = $_POST['beställning_flyg'][$i];
	$beställning_flyg_platser = $_POST['beställning_flyg_platser'][$i];
	$beställning_buss = $_POST['beställning_buss'][$i];
	$beställning_buss_platser = $_POST['beställning_buss_platser'][$i];
	$företag = $_POST['företag'][$i];
	$namn = $_POST['namn'][$i];
	$adress = $_POST['adress'][$i];
	$postnr_ort = $_POST['postnr_ort'][$i];
	$telefon = $_POST['telefon'][$i];
	$fax = $_POST['fax'][$i];
	$orgnr = $_POST['orgnr'][$i];
	$email = $_POST['email'][$i];
	$kod = $_POST['kod'][$i];
	if($i == 0)
		$sql .= "('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	else
		$sql .= ",('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	$i++;
}

for ($i=0; $i<count($_POST['personnr']);)
{
	$tid = $_POST['tid'][$i];
	$datum = $_POST['datum'][$i];
	$förnamn = $_POST['förnamn'][$i];
	$efternamn = $_POST['efternamn'][$i];
	$personnr = $_POST['personnr'][$i];
	$nationalitet = $_POST['nationalitet'][$i];
	$hytt_antal = $_POST['hytt_antal'][$i];
	$hytt_kategori = $_POST['hytt_kategori'][$i];
	$beställning_flyg = $_POST['beställning_flyg'][$i];
	$beställning_flyg_platser = $_POST['beställning_flyg_platser'][$i];
	$beställning_buss = $_POST['beställning_buss'][$i];
	$beställning_buss_platser = $_POST['beställning_buss_platser'][$i];
	$företag = $_POST['företag'][$i];
	$namn = $_POST['namn'][$i];
	$adress = $_POST['adress'][$i];
	$postnr_ort = $_POST['postnr_ort'][$i];
	$telefon = $_POST['telefon'][$i];
	$fax = $_POST['fax'][$i];
	$orgnr = $_POST['orgnr'][$i];
	$email = $_POST['email'][$i];
	$kod = $_POST['kod'][$i];
	if($i == 0)
		$sql .= "('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	else
		$sql .= ",('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	$i++;
}

for ($i=0; $i<count($_POST['nationalitet']);)
{
	$tid = $_POST['tid'][$i];
	$datum = $_POST['datum'][$i];
	$förnamn = $_POST['förnamn'][$i];
	$efternamn = $_POST['efternamn'][$i];
	$personnr = $_POST['personnr'][$i];
	$nationalitet = $_POST['nationalitet'][$i];
	$hytt_antal = $_POST['hytt_antal'][$i];
	$hytt_kategori = $_POST['hytt_kategori'][$i];
	$beställning_flyg = $_POST['beställning_flyg'][$i];
	$beställning_flyg_platser = $_POST['beställning_flyg_platser'][$i];
	$beställning_buss = $_POST['beställning_buss'][$i];
	$beställning_buss_platser = $_POST['beställning_buss_platser'][$i];
	$företag = $_POST['företag'][$i];
	$namn = $_POST['namn'][$i];
	$adress = $_POST['adress'][$i];
	$postnr_ort = $_POST['postnr_ort'][$i];
	$telefon = $_POST['telefon'][$i];
	$fax = $_POST['fax'][$i];
	$orgnr = $_POST['orgnr'][$i];
	$email = $_POST['email'][$i];
	$kod = $_POST['kod'][$i];
	if($i == 0)
		$sql .= "('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	else
		$sql .= ",('$förnamn','$efternamn','$personnr','$nationalitet','$tid','$datum','$hytt_antal','$hytt_kategori','$beställning_flyg','$beställning_flyg_platser','$beställning_buss','$beställning_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
	$i++;
}

	echo "$sql";

mysql_query($sql) or die("SQL-error: ".mysql_error());

// Skicka sedan vidare
echo "<script language=JavaScript>"; 
echo "self.location.replace('index.php')"; 
echo "</script>";

// Stäng databasen
mysql_close($open);
?>

Felmeddelandet är detta...

INSERT INTO bokningar(tid,datum,hytt_antal,hytt_kategori,förnamn,efternamn,personnr,nationalitet,beställning_flyg,beställning_flyg_platser,beställning_buss,beställning_buss_platser,företag,namn,adress,postnr_ort,telefon,fax,orgnr,email,kod) VALUES ('Fredrik','Henry','7605440621','Frankrike','1','2','2','V','H','2','Y','2','A','C','R','1','0','0','8','i','2'),('Erik','Rosen','8106220611','Norge','8','0','','I','a','','m','','B','l','i','1','8','8','2','n','0'),('','','','',':','0','','P','m','','e','','C','a','n','6','-','-','0','f','0'),('','','','','1','5','','R','b','','r','',' ','e','g',' ','2','5','6','o','5')('Fredrik','Henry','7605440621','Frankrike','1','2','2','V','H','2','Y','2','A','C','R','1','0','0','8','i','2'),('Erik','Rosen','8106220611','Norge','8','0','','I','a','','m','','B','l','i','1','8','8','2','n','0'),('','','','',':','0','','P','m','','e','','C','a','n','6','-','-','0','f','0'),('','','','','1','5','','R','b','','r','',' ','e','g',' ','2','5','6','o','5')('Fredrik','Henry','7605440621','Frankrike','1','2','2','V','H','2','Y','2','A','C','R','1','0','0','8','i','2'),('Erik','Rosen','8106220611','Norge','8','0','','I','a','','m','','B','l','i','1','8','8','2','n','0'),('','','','',':','0','','P','m','','e','','C','a','n','6','-','-','0','f','0'),('','','','','1','5','','R','b','','r','',' ','e','g',' ','2','5','6','o','5')('Fredrik','Henry','7605440621','Frankrike','1','2','2','V','H','2','Y','2','A','C','R','1','0','0','8','i','2'),('Erik','Rosen','8106220611','Norge','8','0','','I','a','','m','','B','l','i','1','8','8','2','n','0'),('','','','',':','0','','P','m','','e','','C','a','n','6','-','-','0','f','0'),('','','','','1','5','','R','b','','r','',' ','e','g',' ','2','5','6','o','5')SQL-error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('Fredrik','Henry','7605440621','Frankrike','1','2','2','V','H','2','Y','2','A',' at line 1

Det verkar som den vill lägga till posten fyra gånger?

MatteMedlem sedan aug. 20002 975 inlägg
#16

Du har:

$i = 0;
for ($i=0; $i<count($_POST['förnamn']);)
{
.
.
.
    if($i == 0)
        $sql .= " ('$förnamn','$efternamn','$personnr','$nationalitet','$tid', '$datum','$hytt_antal','$hytt_kategori','$beställning_flyg', '$beställning_flyg_platser','$beställning_buss','$beställnin g_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
    else
        $sql .= " ,('$förnamn','$efternamn','$personnr','$nationalitet','$tid' ,'$datum','$hytt_antal','$hytt_kategori','$beställning_flyg' ,'$beställning_flyg_platser','$beställning_buss','$beställni ng_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
    $i++;
}

for ($i=0; $i<count($_POST['efternamn']);)
{
.
.
.
    if($i == 0)
        $sql .= " ('$förnamn','$efternamn','$personnr','$nationalitet','$tid', '$datum','$hytt_antal','$hytt_kategori','$beställning_flyg', '$beställning_flyg_platser','$beställning_buss','$beställnin g_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
    else
        $sql .= " ,('$förnamn','$efternamn','$personnr','$nationalitet','$tid' ,'$datum','$hytt_antal','$hytt_kategori','$beställning_flyg' ,'$beställning_flyg_platser','$beställning_buss','$beställni ng_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
    $i++;
}

for ($i=0; $i<count($_POST['personnr']);)
{
.
.
.
    if($i == 0)
        $sql .= " ('$förnamn','$efternamn','$personnr','$nationalitet','$tid', '$datum','$hytt_antal','$hytt_kategori','$beställning_flyg', '$beställning_flyg_platser','$beställning_buss','$beställnin g_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
    else
        $sql .= " ,('$förnamn','$efternamn','$personnr','$nationalitet','$tid' ,'$datum','$hytt_antal','$hytt_kategori','$beställning_flyg' ,'$beställning_flyg_platser','$beställning_buss','$beställni ng_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
    $i++;
}

for ($i=0; $i<count($_POST['nationalitet']);)
{
.
.
.
    if($i == 0)
        $sql .= " ('$förnamn','$efternamn','$personnr','$nationalitet','$tid', '$datum','$hytt_antal','$hytt_kategori','$beställning_flyg', '$beställning_flyg_platser','$beställning_buss','$beställnin g_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
    else
        $sql .= " ,('$förnamn','$efternamn','$personnr','$nationalitet','$tid' ,'$datum','$hytt_antal','$hytt_kategori','$beställning_flyg' ,'$beställning_flyg_platser','$beställning_buss','$beställni ng_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
    $i++;
}

Ändra till:

$counter = 0;
for ($i=0; $i<count($_POST['förnamn']); $i++)
{
.
.
.
    if($counter == 0)
        $sql .= " ('$förnamn','$efternamn','$personnr','$nationalitet','$tid', '$datum','$hytt_antal','$hytt_kategori','$beställning_flyg', '$beställning_flyg_platser','$beställning_buss','$beställnin g_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
    else
        $sql .= " ,('$förnamn','$efternamn','$personnr','$nationalitet','$tid' ,'$datum','$hytt_antal','$hytt_kategori','$beställning_flyg' ,'$beställning_flyg_platser','$beställning_buss','$beställni ng_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
    $counter++;
}

for ($i=0; $i<count($_POST['efternamn']); $i++)
{
.
.
.
    if($counter == 0)
        $sql .= " ('$förnamn','$efternamn','$personnr','$nationalitet','$tid', '$datum','$hytt_antal','$hytt_kategori','$beställning_flyg', '$beställning_flyg_platser','$beställning_buss','$beställnin g_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
    else
        $sql .= " ('$förnamn','$efternamn','$personnr','$nationalitet','$tid', '$datum','$hytt_antal','$hytt_kategori','$beställning_flyg', '$beställning_flyg_platser','$beställning_buss','$beställnin g_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
    $counter++;
}

for ($i=0; $i<count($_POST['personnr']); $i++)
{
.
.
.
    if($counter == 0)
        $sql .= " ('$förnamn','$efternamn','$personnr','$nationalitet','$tid', '$datum','$hytt_antal','$hytt_kategori','$beställning_flyg', '$beställning_flyg_platser','$beställning_buss','$beställnin g_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
    else
        $sql .= " ,('$förnamn','$efternamn','$personnr','$nationalitet','$tid' ,'$datum','$hytt_antal','$hytt_kategori','$beställning_flyg' ,'$beställning_flyg_platser','$beställning_buss','$beställni ng_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
    $counter++;
}

for ($i=0; $i<count($_POST['nationalitet']); i++)
{
.
.
.
    if($counter == 0)
        $sql .= " ('$förnamn','$efternamn','$personnr','$nationalitet','$tid', '$datum','$hytt_antal','$hytt_kategori','$beställning_flyg', '$beställning_flyg_platser','$beställning_buss','$beställnin g_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
    else
        $sql .= " ,('$förnamn','$efternamn','$personnr','$nationalitet','$tid' ,'$datum','$hytt_antal','$hytt_kategori','$beställning_flyg' ,'$beställning_flyg_platser','$beställning_buss','$beställni ng_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
    $counter++;
}

Eller varför inte:

$values = array();

for ($i=0; $i<count($_POST['förnamn']); $i++)
{
.
.
.
    $values[] = "('$förnamn','$efternamn','$personnr','$nationalitet','$tid' ,'$datum','$hytt_antal','$hytt_kategori','$beställning_flyg' ,'$beställning_flyg_platser','$beställning_buss','$beställni ng_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
}

for ($i=0; $i<count($_POST['efternamn']); $i++)
{
.
.
.
    $values[] = "('$förnamn','$efternamn','$personnr','$nationalitet','$tid', '$datum','$hytt_antal','$hytt_kategori','$beställning_flyg', '$beställning_flyg_platser','$beställning_buss','$beställnin g_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
}

for ($i=0; $i<count($_POST['personnr']); $i++)
{
.
.
.
    $values[] = "('$förnamn','$efternamn','$personnr','$nationalitet','$tid' ,'$datum','$hytt_antal','$hytt_kategori','$beställning_flyg' ,'$beställning_flyg_platser','$beställning_buss','$beställni ng_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
}

for ($i=0; $i<count($_POST['nationalitet']); i++)
{
.
.
.
    $values[] = "('$förnamn','$efternamn','$personnr','$nationalitet','$tid' ,'$datum','$hytt_antal','$hytt_kategori','$beställning_flyg' ,'$beställning_flyg_platser','$beställning_buss','$beställni ng_buss_platser','$företag','$namn','$adress','$postnr_ort','$telefon','$fax','$orgnr','$email','$kod')";
}

if (!empty($values)) {
   $sql .= implode(", ", $values);
   mysql_query($sql) or die("SQL-error: ".mysql_error());
}
MatteMedlem sedan aug. 20002 975 inlägg
#17

streetrobban skrev:

Det verkar som den vill lägga till posten fyra gånger?

Missade detta :)

Det räcker med en av dina fyra for-satser, då de genererar exakt samma sak.
Då kan du dessutom använda den kod du hade tidigare.

streetrobbanMedlem sedan jan. 20011 140 inlägg
#18

Wow! Ett steg närme :)

Problem 1) Nu lägger den in FYRA poster i databasen, även fast det bara ska vara två. Formuläret består av fyra rutor, men när jag bara fyller i två ska ju inte fyra in!

Problem 2) Det blir bara en massa siffror (1,2,0) och bokstäver (G, Y) etc... Tar den bara med första bokstaven/siffran i vissa rutor eller vad är det frågan om?

Första problemet kan man väl bara reglera med ett javascript eller en IF sats som kollar hur många rutor som ska visas...

MatteMedlem sedan aug. 20002 975 inlägg
#19

Först.
Du måste ha kolumnnamnen i samma ordning som värdena i din SQL-fråga.
Som det är nu sparar du t.ex $förnamn i kolumnen `tid`.

Problem 1:
Har du något fält som inte får vara tomt?
Isåfall, kolla med empty(), och spara endast om värdet inte är tomt, typ:

for ($i=0; $i<count($_POST['förnamn']); $i++)
{
   if (!empty($_POST['personnr'])) {
      // Kod för att spara till databasen.
   }
}

Problem 2:
Har du med array-angivelse i fältnamnet i formuläret, typ

... name="adress[]" ...

Annars tar den strängen som en array.

streetrobbanMedlem sedan jan. 20011 140 inlägg
#20

Problem 1)
Ar nog ur världen nu.

Problem 2)
På samtliga fält som INTE får dubbleras har jag [] efter tex.

name="förnamn[]"
162 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
158 ms — hämta tråd, inlägg och bilagor (db)