INSERT vanaf andere pagina
pagina1: klas + docent kiezen
pagina2: introductietekst
pagina3: enquete invullen -> de gegevens van pagina 1 en 3 INSERT naar een tabel.
Als ik rechtstreeks van pagina 1 naar 3 ga en ik INSERT vanaf pagina 3, dan worden alle gegevens die ingevuld zijn bij pagina 1 en 3 in de tabel gezet in één rij, maar met pagina 2 ertussen lukt het niet.
simpel... als je van je eerste pagina naar de 2de word gestuurd kun je een hidden object maken en daar data in zetten... of je maakt een session en je zet daar de data erin
Ik heb op pagina3 een INSERT geschreven, maar het resultaat is dat ie er 2 rijen van maakt. Met dus de gegevens van pagina 1 op een rij en de gegevens van pagina 3 op de volgende rij. Weet je hoe ik ervoor kan zorgen dat het toch allebei in 1 rij komt?
Gewoon alles in 1x goed inserten (en geen update gebruiken). Gegevens van pagina 1 tijdelijk opslaan in een sessie en op pagina 3 alles in 1x inserten.
if(!empty($_POST))
{
//datum van vandaag
$date = date("Y-m-d");
//resultaat invoeren
$query = "INSERT INTO resultaten (resultaatID, klas, docent, datum, 1A, 1B, 1C, 1D, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D, 4A, 4B, 4C, 4D, 5A, 5B, 5C, 5D, 6A, 6B, 6C, 6D, 7A, 7B, 7C, 7D, 8A, 8B, 8C, 8D, 9A, 9B, 9C, 9D, 10A, 10B, 10C, 10D, 11A, 11B, 11C, 11D, 12A, 12B, 12C, 12D, 13A, 13B, 13C, 13D, 14A, 14B, 14C, 14D, 15A, 15B, 15C, 15D)
VALUES ('','$_POST[klas]','$_POST[docent]','$date','$antwoord1','$antwoord2','$antwoord3','$antwoord4','$antwoord5','$antwoord6','$antwoord7','$antwoord8','$antwoord9','$antwoord10','$antwoord11','$antwoord12','$antwoord13','$antwoord14','$antwoord15','$antwoord16','$antwoord17','$antwoord18','$antwoord19','$antwoord20','$antwoord21','$antwoord22','$antwoord23','$antwoord24','$antwoord25','$antwoord26','$antwoord27','$antwoord28','$antwoord29','$antwoord30','$antwoord31','$antwoord32','$antwoord33','$antwoord34','$antwoord35','$antwoord36','$antwoord37','$antwoord38','$antwoord39','$antwoord40','$antwoord41','$antwoord42','$antwoord43','$antwoord44','$antwoord45','$antwoord46','$antwoord47','$antwoord48','$antwoord49','$antwoord50','$antwoord51','$antwoord52','$antwoord53','$antwoord54','$antwoord55','$antwoord56','$antwoord57','$antwoord58','$antwoord59','$antwoord60')";
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
}
code tags alsjeblieft, en post wat meer, want volgens mij is dit niet alles
Hoe kan je posten met code tags??
of gewoon de php opening tags werken ook
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?php
session_start();
include ("include/header.php");
include ("include/config.php");
?>
<html>
<head>
<title>Enquete</title>
<link rel="stylesheet" type="text/css" href="include/style.css" />
</head>
<body>
<form action="" method="post">
<table>
<?php
//hoeveel vragen staan er in de db?
$aantalvragenquery = mysql_query("SELECT * FROM vragen");
$totaalaantalvragen = mysql_num_rows($aantalvragenquery);
// haal vraag id's op
$resultvraagids = mysql_query("SELECT vraagID FROM vragen");
$i = 0;
while ($rij = mysql_fetch_array($resultvraagids))
{
//query om de vragen op te halen en deze beneden erbij te zetten
$resultvragen = mysql_query("SELECT vraag FROM vragen WHERE vraagID =" . $rij["vraagID"]);
//query om te kijken voor elke vraag welke antwoorden erbij horen
$resultantwoorden = mysql_query("SELECT antwoord FROM antwoorden WHERE vraagID =" . $rij["vraagID"]);
//vragen loop
while ($rij1 = mysql_fetch_array($resultvragen))
{
echo '<tr>
<td><b>' . $rij1["vraag"] . '</b></td>
</tr>
<tr><td></td></tr>';
}
//antwoorden loop
while ($rij2 = mysql_fetch_array($resultantwoorden))
{
$i++;
echo '<tr>
<td><input type="radio" name="antwoord' . $i . '"/>' . $rij2["antwoord"] . '</td>
</tr>';
//kijk voor elk antwoord of het antwoord is aangeklikt en laat het zien
if (isset($_POST['antwoord'.$i]))
{
//echo "antwoord" . $i . "is aangeklikt.";
$antwoord='antwoord';
${$antwoord.$i}=1;
//echo ${antwoord.$i};
}
}
echo '<tr><td></td></tr>';
}
?>
<tr>
<td></td>
<td><input type="submit" value="stoppen" name="stoppen"/></td>
</tr>
</table>
</form>
</body>
</html>
<?php
if(!empty($_POST))
{
//datum van vandaag
$date = date("Y-m-d");
$id = $_POST['resultaatID'];
//resultaat invoeren
$query = "INSERT INTO resultaten (resultaatID, klas, docent, datum, 1A, 1B, 1C, 1D, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D, 4A, 4B, 4C, 4D, 5A, 5B, 5C, 5D, 6A, 6B, 6C, 6D, 7A, 7B, 7C, 7D, 8A, 8B, 8C, 8D, 9A, 9B, 9C, 9D, 10A, 10B, 10C, 10D, 11A, 11B, 11C, 11D, 12A, 12B, 12C, 12D, 13A, 13B, 13C, 13D, 14A, 14B, 14C, 14D, 15A, 15B, 15C, 15D)
VALUES ('$id','$_POST[klas]','$_POST[docent]','$date','$antwoord1','$antwoord2','$antwoord3','$antwoord4','$antwoord5','$antwoord6','$antwoord7','$antwoord8','$antwoord9','$antwoord10','$antwoord11','$antwoord12','$antwoord13','$antwoord14','$antwoord15','$antwoord16','$antwoord17','$antwoord18','$antwoord19','$antwoord20','$antwoord21','$antwoord22','$antwoord23','$antwoord24','$antwoord25','$antwoord26','$antwoord27','$antwoord28','$antwoord29','$antwoord30','$antwoord31','$antwoord32','$antwoord33','$antwoord34','$antwoord35','$antwoord36','$antwoord37','$antwoord38','$antwoord39','$antwoord40','$antwoord41','$antwoord42','$antwoord43','$antwoord44','$antwoord45','$antwoord46','$antwoord47','$antwoord48','$antwoord49','$antwoord50','$antwoord51','$antwoord52','$antwoord53','$antwoord54','$antwoord55','$antwoord56','$antwoord57','$antwoord58','$antwoord59','$antwoord60')";
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
}
include ("include/footer.php");
?>
session_start();
include ("include/header.php");
include ("include/config.php");
?>
<html>
<head>
<title>Enquete</title>
<link rel="stylesheet" type="text/css" href="include/style.css" />
</head>
<body>
<form action="" method="post">
<table>
<?php
//hoeveel vragen staan er in de db?
$aantalvragenquery = mysql_query("SELECT * FROM vragen");
$totaalaantalvragen = mysql_num_rows($aantalvragenquery);
// haal vraag id's op
$resultvraagids = mysql_query("SELECT vraagID FROM vragen");
$i = 0;
while ($rij = mysql_fetch_array($resultvraagids))
{
//query om de vragen op te halen en deze beneden erbij te zetten
$resultvragen = mysql_query("SELECT vraag FROM vragen WHERE vraagID =" . $rij["vraagID"]);
//query om te kijken voor elke vraag welke antwoorden erbij horen
$resultantwoorden = mysql_query("SELECT antwoord FROM antwoorden WHERE vraagID =" . $rij["vraagID"]);
//vragen loop
while ($rij1 = mysql_fetch_array($resultvragen))
{
echo '<tr>
<td><b>' . $rij1["vraag"] . '</b></td>
</tr>
<tr><td></td></tr>';
}
//antwoorden loop
while ($rij2 = mysql_fetch_array($resultantwoorden))
{
$i++;
echo '<tr>
<td><input type="radio" name="antwoord' . $i . '"/>' . $rij2["antwoord"] . '</td>
</tr>';
//kijk voor elk antwoord of het antwoord is aangeklikt en laat het zien
if (isset($_POST['antwoord'.$i]))
{
//echo "antwoord" . $i . "is aangeklikt.";
$antwoord='antwoord';
${$antwoord.$i}=1;
//echo ${antwoord.$i};
}
}
echo '<tr><td></td></tr>';
}
?>
<tr>
<td></td>
<td><input type="submit" value="stoppen" name="stoppen"/></td>
</tr>
</table>
</form>
</body>
</html>
<?php
if(!empty($_POST))
{
//datum van vandaag
$date = date("Y-m-d");
$id = $_POST['resultaatID'];
//resultaat invoeren
$query = "INSERT INTO resultaten (resultaatID, klas, docent, datum, 1A, 1B, 1C, 1D, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D, 4A, 4B, 4C, 4D, 5A, 5B, 5C, 5D, 6A, 6B, 6C, 6D, 7A, 7B, 7C, 7D, 8A, 8B, 8C, 8D, 9A, 9B, 9C, 9D, 10A, 10B, 10C, 10D, 11A, 11B, 11C, 11D, 12A, 12B, 12C, 12D, 13A, 13B, 13C, 13D, 14A, 14B, 14C, 14D, 15A, 15B, 15C, 15D)
VALUES ('$id','$_POST[klas]','$_POST[docent]','$date','$antwoord1','$antwoord2','$antwoord3','$antwoord4','$antwoord5','$antwoord6','$antwoord7','$antwoord8','$antwoord9','$antwoord10','$antwoord11','$antwoord12','$antwoord13','$antwoord14','$antwoord15','$antwoord16','$antwoord17','$antwoord18','$antwoord19','$antwoord20','$antwoord21','$antwoord22','$antwoord23','$antwoord24','$antwoord25','$antwoord26','$antwoord27','$antwoord28','$antwoord29','$antwoord30','$antwoord31','$antwoord32','$antwoord33','$antwoord34','$antwoord35','$antwoord36','$antwoord37','$antwoord38','$antwoord39','$antwoord40','$antwoord41','$antwoord42','$antwoord43','$antwoord44','$antwoord45','$antwoord46','$antwoord47','$antwoord48','$antwoord49','$antwoord50','$antwoord51','$antwoord52','$antwoord53','$antwoord54','$antwoord55','$antwoord56','$antwoord57','$antwoord58','$antwoord59','$antwoord60')";
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
}
include ("include/footer.php");
?>
je start een session (regel 2) maar er word hier nergens een session aangemaakt ofzoiets
En hoe moet ik die session aanmaken dan? Ik moest van iemand bij iedere pagina die regel neerzetten, maar ik weet zelf helemaal niet wat het doet..
bijv
$_SESSION['klas'] = $_POST['klas'];
en op pagina 2 dit
dan zal er hallo op het scherm staan.
verder een paar puntjes:
- bouw foutafhandeling in, or die() is niet goed
- geen variabelen kopieren
- geen opmaken met tabellen
- alle variabelen buiten quotes halen, ook in je query!