Nie mogę sobie poradzić z dynamicznym formularzem, który tworzę pierwszy raz.
Ogólnie chodzi o dynamicznie tworzony formularz w javascript, z którego dane zapisywane są do bazy mysql.
W formularzu znajdują się pola:- nazwakonkursu- organizator
Pola te zapisywane są do tabeli konkurs(takie same pola w bazie) oraz - imię- nazwisko- lokata- zasieg zapisywane do tabeli osoba
Przy czym ilość osób w konkursach może być dowolna (minimum 1) dodawana dynamicznie przez js.
Nie mam problemów z zapisaniem jednego konkursu z dowolną liczbą osób ale już przy większej ilości konkursów mam problem, dlatego jeśli ktokolwiek wie gdzie popełniam błąd to bardzo proszę o pomoc.
Kod strony w php:
Kod
<?php
if (isset($_POST['wyslij'])) {
$konkurs = array();
$konkurs['konkurs'] = $_POST['nazwakonkursu'];
$konkurs['organizator'] = $_POST['organizator'];
$osoby = array();
$osoby['imiona'] = $_POST['imie'];
$osoby['nazwiska'] = $_POST['nazwisko'];
$osoby['lokata'] = $_POST['lokata'];
$osoby['zasieg'] = $_POST['zasieg'];
if (count($_POST['nazwakonkursu']) == count($_POST['organizator'])) {
foreach ($_POST['nazwakonkursu'] as $key => $val) {
$sql = "INSERT INTO konkurs(nazwa_konkursu, organizator_konkursu) VALUES ('$val', '".$_POST['organizator'][$key]."')";
$results = mysql_query($sql);
$last_id = mysql_insert_id();
if (count($_POST['imie']) == count($_POST['nazwisko'])) {
foreach ($_POST['imie'] as $key => $val) {
$sql = "INSERT INTO osoba(id_konkursu,imie, nazwisko, lokata, zasieg) VALUES ('$last_id', '$val', '".$_POST['nazwisko'][$key]."', '".$_POST['lokata'][$key]."', '".$_POST['zasieg'][$key]."')";
$results = mysql_query($sql);
}
}
}
}
} else {
?>
<html>
<head>
<script type="text/javascript" src="skrypt.js" charset="utf-8"></script>
</head>
<body>
<div class="div2">
<br/>
<form method="post" action="glowna.php">
<p class="p2">Czy brałeś udział w konkursach?</p>
<input class="radio" type="radio" name="type1" value="Tak" onclick="dodaj10(); pokaz1();"/>
Tak
<br/>
<input class="radio" type="radio" name="type1" value="Nie" onclick="ukryj1();"/>
Nie<br/><br/>
<div id="ukryte1" style='display: none;'>
<div id="dataDiv">
</div>
<br/>
<input type="button" style="margin-left:250px;" value="Dodaj kolejny konkurs" onclick="dodaj10();"/>
</div>
<input class="submit1" name="wyslij" type="submit" value="Wyślij formularz" onclick="zliczorg(); zliczimie();"/>
</form>
</div>
<?php
}
?>
if (isset($_POST['wyslij'])) {
$konkurs = array();
$konkurs['konkurs'] = $_POST['nazwakonkursu'];
$konkurs['organizator'] = $_POST['organizator'];
$osoby = array();
$osoby['imiona'] = $_POST['imie'];
$osoby['nazwiska'] = $_POST['nazwisko'];
$osoby['lokata'] = $_POST['lokata'];
$osoby['zasieg'] = $_POST['zasieg'];
if (count($_POST['nazwakonkursu']) == count($_POST['organizator'])) {
foreach ($_POST['nazwakonkursu'] as $key => $val) {
$sql = "INSERT INTO konkurs(nazwa_konkursu, organizator_konkursu) VALUES ('$val', '".$_POST['organizator'][$key]."')";
$results = mysql_query($sql);
$last_id = mysql_insert_id();
if (count($_POST['imie']) == count($_POST['nazwisko'])) {
foreach ($_POST['imie'] as $key => $val) {
$sql = "INSERT INTO osoba(id_konkursu,imie, nazwisko, lokata, zasieg) VALUES ('$last_id', '$val', '".$_POST['nazwisko'][$key]."', '".$_POST['lokata'][$key]."', '".$_POST['zasieg'][$key]."')";
$results = mysql_query($sql);
}
}
}
}
} else {
?>
<html>
<head>
<script type="text/javascript" src="skrypt.js" charset="utf-8"></script>
</head>
<body>
<div class="div2">
<br/>
<form method="post" action="glowna.php">
<p class="p2">Czy brałeś udział w konkursach?</p>
<input class="radio" type="radio" name="type1" value="Tak" onclick="dodaj10(); pokaz1();"/>
Tak
<br/>
<input class="radio" type="radio" name="type1" value="Nie" onclick="ukryj1();"/>
Nie<br/><br/>
<div id="ukryte1" style='display: none;'>
<div id="dataDiv">
</div>
<br/>
<input type="button" style="margin-left:250px;" value="Dodaj kolejny konkurs" onclick="dodaj10();"/>
</div>
<input class="submit1" name="wyslij" type="submit" value="Wyślij formularz" onclick="zliczorg(); zliczimie();"/>
</form>
</div>
<?php
}
?>