PHP Form
Ik heb een kleine probleem. Ik wil namelijk met behulp van een Form data toevoegen aan een tabel maar bij het toevoegen wil ik tegelijk dit weer koppelen aan een record van een ander tabel.
Mijn Tabellen:
Printer (id, merk, type, code)
assortiment (printerid, cartridgeartikelnr)
cartridge (artikelnr, merkcode, kleur, inhoud, omschrijving, cartridgemerk, cartridgecode, ean, prijs)
Het lukt me wel om gegevens in te vullen en zo ter versturen naar de tabellen in de database. Wat met nog niet gelukt is dat ik bij het invullen van een cartridge ik tegelijk kan kiezen bij welke printer de cartridge hoort.
Ik heb hem wel helemaal werkend gekregen in MS acces maar dat puur om te kijken of het wel moet werken. Wat er moet gebeuren is dat het in PHP/mysql moet werken.
Dat is dus een query gebruiken bij het aanmaken van het formulier.
Ja is het mogelijk dat je met behulp van een dropdown menu die je van de mysql tabel haalt zo de printer kiest?
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
<?php
/* Hier zegt PHP dat config.php en opendb.php moet includen om zo een mysql connectie en en database connectie moet maken
voor meer informatie bekijk config.php en opendb.php code voor meer commentaar*/
include 'config.php';
include 'opendb.php';
// kijkt of het formulier is toegevoegd
if(isset($_POST['cartridge']))
{
// pakt de invoer van $_POST
// compresseert alle invoer om extra ruimtes te verwijderen
$merkcode = trim($_POST['txtmerkcode']);
$kleur = trim($_POST['txtkleur']);
$inhoud = trim($_POST['txtinhoud']);
$omschrijving = trim($_POST['txtomschrijving']);
$cartridgemerk = trim($_POST['txtcartridgemerk']);
$cartridgecode = trim($_POST['txtcartridgecode']);
$ean = trim($_POST['txtean']);
$prijs = trim($_POST['txtprijs']);
// voorbereiden van de query
$query = "INSERT INTO cartridge (merkcode, kleur, inhoud, omschrijving, cartridgemerk, cartridgecode, ean, prijs) " .
"VALUES ('$merkcode', '$kleur', '$inhoud', '$omschrijving', '$cartridgemerk', '$cartridgecode' '$ean', '$prijs')";
// voert de query uit om de invoer in de database te zetten
// als de query vervalt het script
mysql_query($query) or die('Error, query failed. ' . mysql_error());
// Omzeilt de pagina waar je nu op zit
// Het formulier wordt niet twee keer opgeslagen omdat er anders dubbele berichten worden weergegeven
header('Location: ' . $_SERVER['REQUEST_URI']);
// Geforceerd om het script tot een stop te brengen
// ga door voordat de pagina is doorgestuurd.
exit;
}
//PHP code wordt hier beeindigd
?>
<html>
<style>
{
background-repeat: no-repeat;
background-position: 1350px 100px;
}
</style>
<body>
<Center><h2>Toevoegen Cartridge</h2>
<table align="right" bgcolor="#FFFFFF">
<tr>
</tr>
</table>
</Center>
<!-- Hier begint de form om data toevoegen aan tabel orgineel -->
<form method="post" name="CartridgeForm">
<hr>
<table width="550" border="0" cellpadding="2" cellspacing="1" bordercolor="#D4D0C8">
<tr>
<td width="100">Merkcode*</td>
<td>
<input name="txtmerkcode" type="text" id="txtmerkcode" size="15" maxlength="20">
voorbeeld: hp 25</td>
</tr>
<tr>
<td width="100">Kleur</td>
<td><input name="txtkleur" type="text" id="txtkleur" size="15" maxlength="15">
voorbeeld: zwart</td>
<td> </td>
</tr>
<tr>
<td width="100">Inhoud</td>
<td><input name="txtinhoud" type="text" id="txtinhoud" size="10" maxlength="10">
ml - voorbeeld: 25</td>
</tr>
<tr>
<td width="100">Product Omschrijving</td> <td><textarea name="txtomschrijving" cols="80" rows="5" id="txtomschrijving"></textarea></td>
</tr>
<tr>
<td width="100">Cartridge Merk*</td>
<td><input name="txtcartridgemerk" type="text" id="txtcartridgemerk" size="40" maxlength="40">
voorbeeld: hp</td>
</tr>
<tr>
<td width="100">cartridge Code*</td>
<td><input name="txtcartridgecode" type="text" id="txtcartridgecode" size="40" maxlength="40">
voorbeeld: 1235AE</td>
</tr>
<tr>
<td width="100">EAN Nummer</td>
<td><input name="txtean" type="text" id="txtean" size="40" maxlength="40">
voorbeeld: 354059856</td>
</tr>
<tr>
<td width="100">Prijs</td>
<td>€<input name="txtprijs" type="text" id="txtprijs" size="10" maxlength="10">
voorbeeld: 19,50</td>
</tr>
<tr>
<td width="100"> </td>
<td>
<input name="cartridge" type="submit" id="cartridge" value="Voeg toe aan Tabel-Cartridge" onClick="return checkForm();"></td>
</tr>
</table>
</form>
<?php
// include de database configuratie en
// opent de connectie naar de database
include 'config.php';
include 'opendb.php';
// kijkt of het formulier is toegevoegd
if(isset($_POST['printer']))
{
// pakt de invoer van $_POST
// compresseert alle invoer om extra ruimtes te verwijderen
$merk = trim($_POST['txtmerk']);
$type = trim($_POST['txttype']);
$code = trim($_POST['txtcode']);
// voorbereiden van de query
$query = "INSERT INTO printer (merk, type, code) " .
"VALUES ('$merk', '$type', '$code')";
// voert de query uit om de invoer in de database te zetten
// als de query faalt vervalt het script
mysql_query($query) or die('Error, query failed. ' . mysql_error());
// Omzeilt de pagina waar je nu op zit
// Het formulier wordt niet twee keer opgeslagen omdat er anders dubbele berichten worden weergegeven
header('Location: ' . $_SERVER['REQUEST_URI']);
// Geforceerd om het script tot een stop te brengen
// ga door voordat de pagina is doorgestuurd.
exit;
}
?>
</body>
<style>
{
background-repeat: no-repeat;
background-position: 1350px 100px;
}
</style>
<body>
<Center><h2>Toevoegen Printer</h2>
<table align="right" bgcolor="#FFFFFF">
<tr>
</tr>
</table>
</Center>
<hr>
<!-- Hier begint de form om data toe te voegen aan tabel Printer -->
<form method="post" name="PrinterForm">
<table width="550" border="0" cellpadding="2" cellspacing="1" bordercolor="#D4D0C8">
<tr>
<td width="100">Merk Naam*</td> <td>
<input name="txtprintermerk" type="text" id="txtprintermerk" size="15" maxlength="20"></td>
</tr>
<tr>
<td width="100">Printer Type*</td>
<td><input name="txtprintertype" type="text" id="txtprintertype" size="15" maxlength="20"></td>
</tr>
<tr>
<td width="100">Printer Code</td>
<td><input name="txtprintercode" type="text" id="txtprintercode" size="15" maxlength="15"></td>
</tr>
<tr>
<td width="100"> </td>
<td>
<input name="printer" type="submit" id="printer" value="Voeg toe aan Tabel-printer" onClick="return checkForm();"></td>
</tr>
</table>
</form>
<hr>
<!-- Hier zie je nog wat extra code om zo de gebruiker direct toe te verwijzen naar phpmyadmin -->
<a href="/phpmyadmin/index.php?db=sancak&token=30e26e7fa34eee386854d65a15835985" target="_blank"><b>Tabels Bewerken</b></a>
</body>
</html>
[/CODE]
/* Hier zegt PHP dat config.php en opendb.php moet includen om zo een mysql connectie en en database connectie moet maken
voor meer informatie bekijk config.php en opendb.php code voor meer commentaar*/
include 'config.php';
include 'opendb.php';
// kijkt of het formulier is toegevoegd
if(isset($_POST['cartridge']))
{
// pakt de invoer van $_POST
// compresseert alle invoer om extra ruimtes te verwijderen
$merkcode = trim($_POST['txtmerkcode']);
$kleur = trim($_POST['txtkleur']);
$inhoud = trim($_POST['txtinhoud']);
$omschrijving = trim($_POST['txtomschrijving']);
$cartridgemerk = trim($_POST['txtcartridgemerk']);
$cartridgecode = trim($_POST['txtcartridgecode']);
$ean = trim($_POST['txtean']);
$prijs = trim($_POST['txtprijs']);
// voorbereiden van de query
$query = "INSERT INTO cartridge (merkcode, kleur, inhoud, omschrijving, cartridgemerk, cartridgecode, ean, prijs) " .
"VALUES ('$merkcode', '$kleur', '$inhoud', '$omschrijving', '$cartridgemerk', '$cartridgecode' '$ean', '$prijs')";
// voert de query uit om de invoer in de database te zetten
// als de query vervalt het script
mysql_query($query) or die('Error, query failed. ' . mysql_error());
// Omzeilt de pagina waar je nu op zit
// Het formulier wordt niet twee keer opgeslagen omdat er anders dubbele berichten worden weergegeven
header('Location: ' . $_SERVER['REQUEST_URI']);
// Geforceerd om het script tot een stop te brengen
// ga door voordat de pagina is doorgestuurd.
exit;
}
//PHP code wordt hier beeindigd
?>
<html>
<style>
{
background-repeat: no-repeat;
background-position: 1350px 100px;
}
</style>
<body>
<Center><h2>Toevoegen Cartridge</h2>
<table align="right" bgcolor="#FFFFFF">
<tr>
</tr>
</table>
</Center>
<!-- Hier begint de form om data toevoegen aan tabel orgineel -->
<form method="post" name="CartridgeForm">
<hr>
<table width="550" border="0" cellpadding="2" cellspacing="1" bordercolor="#D4D0C8">
<tr>
<td width="100">Merkcode*</td>
<td>
<input name="txtmerkcode" type="text" id="txtmerkcode" size="15" maxlength="20">
voorbeeld: hp 25</td>
</tr>
<tr>
<td width="100">Kleur</td>
<td><input name="txtkleur" type="text" id="txtkleur" size="15" maxlength="15">
voorbeeld: zwart</td>
<td> </td>
</tr>
<tr>
<td width="100">Inhoud</td>
<td><input name="txtinhoud" type="text" id="txtinhoud" size="10" maxlength="10">
ml - voorbeeld: 25</td>
</tr>
<tr>
<td width="100">Product Omschrijving</td> <td><textarea name="txtomschrijving" cols="80" rows="5" id="txtomschrijving"></textarea></td>
</tr>
<tr>
<td width="100">Cartridge Merk*</td>
<td><input name="txtcartridgemerk" type="text" id="txtcartridgemerk" size="40" maxlength="40">
voorbeeld: hp</td>
</tr>
<tr>
<td width="100">cartridge Code*</td>
<td><input name="txtcartridgecode" type="text" id="txtcartridgecode" size="40" maxlength="40">
voorbeeld: 1235AE</td>
</tr>
<tr>
<td width="100">EAN Nummer</td>
<td><input name="txtean" type="text" id="txtean" size="40" maxlength="40">
voorbeeld: 354059856</td>
</tr>
<tr>
<td width="100">Prijs</td>
<td>€<input name="txtprijs" type="text" id="txtprijs" size="10" maxlength="10">
voorbeeld: 19,50</td>
</tr>
<tr>
<td width="100"> </td>
<td>
<input name="cartridge" type="submit" id="cartridge" value="Voeg toe aan Tabel-Cartridge" onClick="return checkForm();"></td>
</tr>
</table>
</form>
<?php
// include de database configuratie en
// opent de connectie naar de database
include 'config.php';
include 'opendb.php';
// kijkt of het formulier is toegevoegd
if(isset($_POST['printer']))
{
// pakt de invoer van $_POST
// compresseert alle invoer om extra ruimtes te verwijderen
$merk = trim($_POST['txtmerk']);
$type = trim($_POST['txttype']);
$code = trim($_POST['txtcode']);
// voorbereiden van de query
$query = "INSERT INTO printer (merk, type, code) " .
"VALUES ('$merk', '$type', '$code')";
// voert de query uit om de invoer in de database te zetten
// als de query faalt vervalt het script
mysql_query($query) or die('Error, query failed. ' . mysql_error());
// Omzeilt de pagina waar je nu op zit
// Het formulier wordt niet twee keer opgeslagen omdat er anders dubbele berichten worden weergegeven
header('Location: ' . $_SERVER['REQUEST_URI']);
// Geforceerd om het script tot een stop te brengen
// ga door voordat de pagina is doorgestuurd.
exit;
}
?>
</body>
<style>
{
background-repeat: no-repeat;
background-position: 1350px 100px;
}
</style>
<body>
<Center><h2>Toevoegen Printer</h2>
<table align="right" bgcolor="#FFFFFF">
<tr>
</tr>
</table>
</Center>
<hr>
<!-- Hier begint de form om data toe te voegen aan tabel Printer -->
<form method="post" name="PrinterForm">
<table width="550" border="0" cellpadding="2" cellspacing="1" bordercolor="#D4D0C8">
<tr>
<td width="100">Merk Naam*</td> <td>
<input name="txtprintermerk" type="text" id="txtprintermerk" size="15" maxlength="20"></td>
</tr>
<tr>
<td width="100">Printer Type*</td>
<td><input name="txtprintertype" type="text" id="txtprintertype" size="15" maxlength="20"></td>
</tr>
<tr>
<td width="100">Printer Code</td>
<td><input name="txtprintercode" type="text" id="txtprintercode" size="15" maxlength="15"></td>
</tr>
<tr>
<td width="100"> </td>
<td>
<input name="printer" type="submit" id="printer" value="Voeg toe aan Tabel-printer" onClick="return checkForm();"></td>
</tr>
</table>
</form>
<hr>
<!-- Hier zie je nog wat extra code om zo de gebruiker direct toe te verwijzen naar phpmyadmin -->
<a href="/phpmyadmin/index.php?db=sancak&token=30e26e7fa34eee386854d65a15835985" target="_blank"><b>Tabels Bewerken</b></a>
</body>
</html>
[/CODE]
Dus om een nieuwe cartridge toe te voegen dat ik een dropdown menu krijg die ik heb opgeroepen vanuit de tabel printers. Deze koppelt dan met de form die ik aan het invullen ben??...
Gooi hem maar op slot weet al wat ik hele tijd fout deed. Normaliseren had ik eerst goed gedaan, daarna alles in elkaar gezet. Nadat ben ik een andere weg in geslagen van wat ik wou laten zien maar was niet opnieuw begonnen met normaliseren waardoor niks meer klopte. oftewel een jackass actie :P
En je mist een hele berg foutafhandelingen dus succes :P