POSTSQL en formulier
Dus als ik bij de ene dropdown de code kies. Dat in de andere dropdown dan automatisch de titelm komt. En zo ook omgedraait werkend.
Hier zal ik even de code zetten wat ik nu heb maar niet werkend krijg.
<title>My web form</title>
<body>
<form method="POST" action="http://localhost/testpear/testform.php">
Titel: <input type="text" name="titel"> <br />
Code <input type=text name="code"> <br />
Omschrijving <input type=text name="omschrijving"> <br />
Materiaal <input type=text name="materiaal"> <br />
<hr />
<input type="submit" name="submit" value="Insert">
</form>
</body>
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
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
<?
} else {
$connection = pg_connect("host=localhost port=5432 dbname=project user=postgres password=welkom");
if (!$connection) {
print("Connection Failed.");
exit;
}
pg_query($connection, "INSERT INTO modulen VALUES ('titel','code','omschrijving','materiaal')");
$myresult = pg_query($connection, "SELECT * FROM modulen WHERE titel='$titel'");
for ($lt = 0; $lt < pg_numrows($myresult); $lt++) {
$titel = pg_result($myresult, $lt, 0);
$code = pg_result($myresult, $lt, 1);
$omschrijving = pg_result($myresult, $lt, 2);
$materiaal = pg_result($myresult, $lt, 3);
// print het ingevoerde voor controlle
print("Het volgende is ingevoerd: <br />");
print("<hr /><br />");
print("Titel: $titel<br />\n");
print("Code: $code<br />\n");
print("Omschrijving: $omschrijving<br />\n");
print("Materiaal: $materiaal<br />\n");
}
}
?>
} else {
$connection = pg_connect("host=localhost port=5432 dbname=project user=postgres password=welkom");
if (!$connection) {
print("Connection Failed.");
exit;
}
pg_query($connection, "INSERT INTO modulen VALUES ('titel','code','omschrijving','materiaal')");
$myresult = pg_query($connection, "SELECT * FROM modulen WHERE titel='$titel'");
for ($lt = 0; $lt < pg_numrows($myresult); $lt++) {
$titel = pg_result($myresult, $lt, 0);
$code = pg_result($myresult, $lt, 1);
$omschrijving = pg_result($myresult, $lt, 2);
$materiaal = pg_result($myresult, $lt, 3);
// print het ingevoerde voor controlle
print("Het volgende is ingevoerd: <br />");
print("<hr /><br />");
print("Titel: $titel<br />\n");
print("Code: $code<br />\n");
print("Omschrijving: $omschrijving<br />\n");
print("Materiaal: $materiaal<br />\n");
}
}
?>
if($_POST['submit'] != "Insert") {
Dit lijkt me inderdaad niet goed
Code (php)
1
2
3
2
3
<?php
pg_query($connection, "INSERT INTO modulen VALUES ('titel','code','omschrijving','materiaal')");
?>
pg_query($connection, "INSERT INTO modulen VALUES ('titel','code','omschrijving','materiaal')");
?>
Definieer je INVOERkolommen eerst.
Ik neem namelijk aan dat je gebruik maakt van BigSerial, zodat de records een automatische id krijgen. In de bovenstaande query gaat hij bijvoorbeeld het woord "titel" in een BIGSERIAL veld zetten.
Ik zie ook dat je er geen variabele inzet, maar puur tekst. Ik denk dat je dat namelijk niet wil.
titel wordt dan $_POST['titel'], enz.
Probeer eens
Code (php)
1
2
3
2
3
<?php
pg_query($connection, "INSERT INTO modulen (titel, code, omschrijving, materiaal) VALUES ('".$_POST['titel']."', '".$_POST['code']."', '".$_POST['omschrijving']."', '".$_POST['materiaal']."')");
?>
pg_query($connection, "INSERT INTO modulen (titel, code, omschrijving, materiaal) VALUES ('".$_POST['titel']."', '".$_POST['code']."', '".$_POST['omschrijving']."', '".$_POST['materiaal']."')");
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$myresult = pg_query($connection, "SELECT * FROM modulen WHERE titel='$titel'");
for ($lt = 0; $lt < pg_numrows($myresult); $lt++) {
$titel = pg_result($myresult, $lt, 0);
$code = pg_result($myresult, $lt, 1);
$omschrijving = pg_result($myresult, $lt, 2);
$materiaal = pg_result($myresult, $lt, 3);
// print het ingevoerde voor controlle
print("Het volgende is ingevoerd: <br />");
print("<hr /><br />");
print("Titel: $titel<br />\n");
print("Code: $code<br />\n");
print("Omschrijving: $omschrijving<br />\n");
print("Materiaal: $materiaal<br />\n");
}
?>
$myresult = pg_query($connection, "SELECT * FROM modulen WHERE titel='$titel'");
for ($lt = 0; $lt < pg_numrows($myresult); $lt++) {
$titel = pg_result($myresult, $lt, 0);
$code = pg_result($myresult, $lt, 1);
$omschrijving = pg_result($myresult, $lt, 2);
$materiaal = pg_result($myresult, $lt, 3);
// print het ingevoerde voor controlle
print("Het volgende is ingevoerd: <br />");
print("<hr /><br />");
print("Titel: $titel<br />\n");
print("Code: $code<br />\n");
print("Omschrijving: $omschrijving<br />\n");
print("Materiaal: $materiaal<br />\n");
}
?>
Dit is een erg omslagtige manier om je gegevens te tonen. Dit is wat effectiever:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$myresult = pg_query($connection, "SELECT * FROM modulen WHERE titel='$titel'");
while($row = pg_fetch_array($myresult)){
{
// print het ingevoerde voor controlle
print("Het volgende is ingevoerd: <br />");
print("<hr /><br />");
print("Titel: ".$row['titel']."<br />\n");
print("Code: ".$row['code']."<br />\n");
print("Omschrijving: ".$row['omschrijving']."<br />\n");
print("Materiaal: ".$row['materiaal']."<br />\n");
}
?>
$myresult = pg_query($connection, "SELECT * FROM modulen WHERE titel='$titel'");
while($row = pg_fetch_array($myresult)){
{
// print het ingevoerde voor controlle
print("Het volgende is ingevoerd: <br />");
print("<hr /><br />");
print("Titel: ".$row['titel']."<br />\n");
print("Code: ".$row['code']."<br />\n");
print("Omschrijving: ".$row['omschrijving']."<br />\n");
print("Materiaal: ".$row['materiaal']."<br />\n");
}
?>
Gewijzigd op 14/10/2005 18:33:00 door Barman V