variabele in query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Wilfried Acke

Wilfried Acke

04/07/2016 13:21:54
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<!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>


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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$tocht
=$_POST['tocht']; ?>

  

$tocht wordt weergegeven in
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
            ><?php echo $tocht ?>:</label>

tot zover alles ok
Nu wil ik $tocht ook gebruiken in de query en dat werkt niet
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql = "SELECT  DATUM  FROM `hippotrail`  WHERE TOCHT ='$tocht' ";

Hieronder het volledige 2°formulier.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<!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>
 
PHP hulp

PHP hulp

24/11/2024 15:12:43
 
- Ariën  -
Beheerder

- Ariën -

04/07/2016 13:33:26
Quote Anchor link
Waarom zou je een $_POST-waarde nogmaals op willen slaan in een aparte variabele?

Gebruik gewoon dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$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 -
 
Thomas van den Heuvel

Thomas van den Heuvel

04/07/2016 13:59:19
Quote Anchor link
De POST data is alleen beschikbaar op de webserver direct nadat je deze hebt gePOST.

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.
 
Wilfried Acke

Wilfried Acke

04/07/2016 17:47:01
Quote Anchor link
@ Ariën
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.
 
- Ariën  -
Beheerder

- Ariën -

04/07/2016 17:56:01
Quote Anchor link
Ik zie het. Je zult dan eerst je formulier moeten versturen.
Als je realtime je HTML wilt bewerken, kan je het beste naar het jQuery-framework kijken.
 
Wilfried Acke

Wilfried Acke

04/07/2016 18:22:38
Quote Anchor link
met php kan het dus niet ?
 
Marthijn Buijs

Marthijn Buijs

04/07/2016 20:08:14
Quote Anchor link
Nee, met PHP gaat je dat niet lukken want het is namelijk een server-side taal, eenmaal door de PHP-compiler gehaald wordt de HTML teruggestuurd naar de browser.
Gewijzigd op 04/07/2016 20:09:42 door Marthijn Buijs
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.