variabele in query
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
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<?php include('bovenmenu.php'); ?>
<?php include('connect.php'); ?>
//ini_set('display_errors', 1);
//error_reporting(E_ALL);
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>verwerk3</title>
<link rel="stylesheet" href="../css/hippo.css" type="text/css" media="screen" />
<style type="text/css">
label.error {
color: #FF0000;
}
</style>
</head>
<body>
<div id="onlineboeking">
<form action="../templates/boekingformulier2.php" method="post" name="example">
<p>
<label
for="tocht"
class="field <?php if(!empty($_SESSION['errors']['tocht'])) echo 'error'; ?>"
>Tocht:</label>
<select id="tocht" name="tocht">
<?php
session_start();
$sql = "SELECT TOCHT FROM `hippotrail` ";
if(!$result = $mysqli->query($sql))
{
trigger_error('Fout in query: '.$mysqli->error);
}
if ($result->num_rows)
while($row = $result->fetch_assoc())
{
?>
<option value=" <?php echo $row['TOCHT']?> "> <?php echo $row['TOCHT'];
echo" </option>";
}
?>
</select>
</p>
<p>
<input name="submit" type="submit" class="lijnuit" value="Verzenden" />
</p>
</form>
</div>
</body>
</html>
<html>
<head>
<?php include('bovenmenu.php'); ?>
<?php include('connect.php'); ?>
//ini_set('display_errors', 1);
//error_reporting(E_ALL);
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>verwerk3</title>
<link rel="stylesheet" href="../css/hippo.css" type="text/css" media="screen" />
<style type="text/css">
label.error {
color: #FF0000;
}
</style>
</head>
<body>
<div id="onlineboeking">
<form action="../templates/boekingformulier2.php" method="post" name="example">
<p>
<label
for="tocht"
class="field <?php if(!empty($_SESSION['errors']['tocht'])) echo 'error'; ?>"
>Tocht:</label>
<select id="tocht" name="tocht">
<?php
session_start();
$sql = "SELECT TOCHT FROM `hippotrail` ";
if(!$result = $mysqli->query($sql))
{
trigger_error('Fout in query: '.$mysqli->error);
}
if ($result->num_rows)
while($row = $result->fetch_assoc())
{
?>
<option value=" <?php echo $row['TOCHT']?> "> <?php echo $row['TOCHT'];
echo" </option>";
}
?>
</select>
</p>
<p>
<input name="submit" type="submit" class="lijnuit" value="Verzenden" />
</p>
</form>
</div>
</body>
</html>
Bovenstaand formulier werkt.
Het post de inhoud van het label tocht.
In het 2° formulier (hieronder) vang ik de inhoud van tocht als volgt op:
$tocht wordt weergegeven in
tot zover alles ok
Nu wil ik $tocht ook gebruiken in de query en dat werkt niet
Hieronder het volledige 2°formulier.
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
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<?php include('bovenmenu.php'); ?>
<?php include('connect.php'); ?>
//ini_set('display_errors', 1);
//error_reporting(E_ALL);
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>verwerk3</title>
<link rel="stylesheet" href="../css/hippo.css" type="text/css" media="screen" />
<style type="text/css">
label.error {
color: #FF0000;
}
</style>
</head>
<body>
<?php
$tocht=$_POST['tocht']; ?>
<div id="onlineboeking">
<form action="../templates/verwerk3.php" method="post" name="example">
<p>
<label
for="datumtocht"
class="field <?php if(!empty($_SESSION['errors']['datumtocht'])) echo 'error'; ?>"
><?php echo $tocht ?>:</label>
<select id="datumtocht" name="datumtocht">
<?php
$sql = "SELECT DATUM FROM `hippotrail` WHERE TOCHT = '$tocht' ";
if(!$result = $mysqli->query($sql))
{
trigger_error('Fout in query: '.$mysqli->error);
}
if ($result->num_rows)
while($row = $result->fetch_assoc())
{
?>
<option value="<?php echo $row['DATUM']?>"><?php echo $row['DATUM'];
echo" </option>";
}
?>
</select>
</p>
<p>
<input name="submit" type="submit" class="lijnuit" value="Verzenden" />
</p>
</form>
</div>
</body>
</html>
<html>
<head>
<?php include('bovenmenu.php'); ?>
<?php include('connect.php'); ?>
//ini_set('display_errors', 1);
//error_reporting(E_ALL);
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>verwerk3</title>
<link rel="stylesheet" href="../css/hippo.css" type="text/css" media="screen" />
<style type="text/css">
label.error {
color: #FF0000;
}
</style>
</head>
<body>
<?php
$tocht=$_POST['tocht']; ?>
<div id="onlineboeking">
<form action="../templates/verwerk3.php" method="post" name="example">
<p>
<label
for="datumtocht"
class="field <?php if(!empty($_SESSION['errors']['datumtocht'])) echo 'error'; ?>"
><?php echo $tocht ?>:</label>
<select id="datumtocht" name="datumtocht">
<?php
$sql = "SELECT DATUM FROM `hippotrail` WHERE TOCHT = '$tocht' ";
if(!$result = $mysqli->query($sql))
{
trigger_error('Fout in query: '.$mysqli->error);
}
if ($result->num_rows)
while($row = $result->fetch_assoc())
{
?>
<option value="<?php echo $row['DATUM']?>"><?php echo $row['DATUM'];
echo" </option>";
}
?>
</select>
</p>
<p>
<input name="submit" type="submit" class="lijnuit" value="Verzenden" />
</p>
</form>
</div>
</body>
</html>
Gebruik gewoon dit:
Code (php)
1
2
3
2
3
<?php
$sql = "SELECT DATUM FROM `hippotrail` WHERE TOCHT = '".$mysqli->real_escape_string($_POST['tocht']."'";
?>
$sql = "SELECT DATUM FROM `hippotrail` WHERE TOCHT = '".$mysqli->real_escape_string($_POST['tocht']."'";
?>
Verder zijn alleen hoofdletters in databasestructuren verwarrend.
Gewijzigd op 04/07/2016 13:34:20 door - Ariën -
Als je deze informatie over meerdere pagina-requests wilt onthouden zul je dit op een andere manier moeten doen. Indien je een soort zoekfunctionaliteit aan het maken bent: gebruik GET in plaats van POST.
Dat gaat niet omdat het formulier nog niet naar de db weggeschreven is.
Ik wil een formulier maken waar het eerste veld een dropdown is, de waarden haal ik op uit de tabel 'hippotrail'. Na het selecteren van een waarde wil ik diezelfde waarde gebruiken in het tweede veld om daar de aangeboden waarden (ook een dropdown) die ook uit de tabel 'hippotrail' komen te filteren.
Het eerste veld met het ophalen vd waarden uit 'hippotrail' lukt.
Het is die geselecteerde waarde gebruiken in het tweede veld dat niet lukt.
Eerst had ik het in één pagina gedaan maar dat lukte niet, nu verdeel ik het over 2 pagina's maar het lukt ook niet.
Wat ik niet begrijp is dat ik de inhoud van $tocht kan weergeven in het label (2° formulier lijn 26) maar dat diezelfde $tocht niet werkt op lijn 29
Niet gemakkelijk om uit te leggen, en voor jullie nog moeilijker om te begrijpen denk ik.
Als je realtime je HTML wilt bewerken, kan je het beste naar het jQuery-framework kijken.
met php kan het dus niet ?
Gewijzigd op 04/07/2016 20:09:42 door Marthijn Buijs