Toon geselecteerde option van dropdown na submit

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Joep van Dongen

Joep van Dongen

09/07/2012 14:38:41
Quote Anchor link
Hallo,

Ik ben bezig met een dropdown menu. Deze haalt de options uit mijn database en wanneer ik er 1 selecteer en op submit klik gaat er iets fout.

Hij leest de options goed uit maar wanneer ik op submit klik toont hij elke keer mijn laatste optie.

Hier is de code die ik gebruik. Als iemand me kan helpen dan zou dat fijn zijn.

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
<div class="bandwielkolom">
                        <form action="index.php?lang=nl&p=<?php echo $_GET['p']; ?>#keuze" method="post">
                            <table class="bandentabel">
                                <tr>
                                    <th colspan="2">Op merk zoeken<a name="band"></a></th>
                                </tr>
                                <tr>
                                    <td>Merk:</td>
                                    <td>
                                        <select name="band_merk">
                                            <option value="0">- Merk -</option>
<?php
    $wielen
= $wielclass->getMerkenWielen($website);
    foreach($wielen as $wiel)
    {

        echo "\t\t\t\t\t\t\t\t\t\t\t<option value=\"".$wiel->merk_code."\"";
        if(isset($_GET['search']) && $_GET['search'] == "band" && isset($_GET['wiel']) && $_GET['wiel'] == $wiel->merk_code || isset($_POST['band_submit']) && $_POST['band_merk'] == $wiel->merk_code) { echo " selected=\"selected\""; }
        echo ">".$wiel->merk_naam."</option>\n";
    }

?>

                                        </select>
                                    </td>
                                </tr>
                                <tr>
                                    <td>&nbsp;</td>
                                    <td><input type="submit" name="band_submit" value="Zoek"/></td>
                                </tr>
                            </table>
                        </form>
                    </div>
                                        <div class="clearboth"></div>
                                        <?php
if(isset($_POST['band_submit']))
    echo $wiel->merk_naam;
?>


Dit is mijn class:

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
<?php

class wielen extends connect
{
  
    private $wielenlijst;
  
    public function getMerkenWielen($database)
    {

        $sql = "SELECT * FROM ".$database."_wielen ORDER BY merk_nummer";
        try
        {
            $stmt = $this->db->prepare($sql);
          
            $stmt->execute();
            $this->wielenlijst = $stmt->fetchAll(PDO::FETCH_OBJ);
            $stmt->closeCursor();

            return $this->wielenlijst;
        }

        catch (Exception $e)
        {

            die ($e->getMessage());
        }
    }

  
    public function __construct($dbo)
    {

        parent::__construct($dbo);
    }
  
}


?>

 


Alvast bedankt voor enige hulp!

Groetjes
 
PHP hulp

PHP hulp

29/11/2024 00:21:12
 
Kris Peeters

Kris Peeters

09/07/2012 14:51:46
Quote Anchor link
Ik zie dat je zelf al geprobeerd hebt.

Vervang eens die foreach door dit; dit zou moeten werken

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
    $get_wiel
= isset($_GET['wiel']) ? $_GET['wiel'] : '';
    foreach($wielen as $wiel) {
      $selected = $get_wiel === $wiel->merk_code ? ' selected="selected"' : '' ;  // zie "ternary operator"
      echo '\t\t\t\t\t\t\t\t\t\t\t<option value="' . $wiel->merk_code . '"' . $selected . '>' . $wiel->merk_naam . '</option>';
    }

?>
Gewijzigd op 09/07/2012 14:54:40 door Kris Peeters
 
Joep van Dongen

Joep van Dongen

09/07/2012 15:19:01
Quote Anchor link
Hey bedankt voor de snelle reactie! Ik heb het geprobeerd maar gaat nog steeds niet helemaal goed.

Ik heb nu dit:

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
<div class="bandwielkolom">
                        <form action="index.php?lang=nl&p=<?php echo $_GET['p']; ?>#keuze" method="post">
                            <table class="bandentabel">
                                <tr>
                                    <th colspan="2">Op merk zoeken<a name="band"></a></th>
                                </tr>
                                <tr>
                                    <td>Merk:</td>
                                    <td>
                                        <select name="band_merk">
                                            <option value="0">- Merk -</option>
<?php
    $wielen
= $wielclass->getMerkenWielen($website);
    $get_wiel = isset($_GET['wiel']) ? $_GET['wiel'] : '';
    foreach($wielen as $wiel) {
      $selected = $get_wiel === $wiel->merk_code ? ' selected="selected"' : '' ;  // zie "ternary operator"
      echo '\t\t\t\t\t\t\t\t\t\t\t<option value="' . $wiel->merk_code . '"' . $selected . '>' . $wiel->merk_naam . '</option>';
    }

?>

                                        </select>
                                    </td>
                                </tr>
                                <tr>
                                    <td>&nbsp;</td>
                                    <td><input type="submit" name="band_submit" value="Zoek"/></td>
                                </tr>
                            </table>
                        </form>
                    </div>
                                        <div class="clearboth"></div>
                                        <?php
if(isset($_POST['band_submit']))
    echo $wiel->merk_naam;
?>


Nu onthoud hij mijn selectie niet meer en hij toont nog steeds alleen League en niet de geselecteerde nadat ik op submit klik
 
Kris Peeters

Kris Peeters

09/07/2012 15:30:41
Quote Anchor link
O ja, sorry, wat mis gekeken.

Probeer dit eens
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
    $get_wiel
= isset($_GET['wiel']) ? $_GET['wiel'] : '';
    $post_wiel = isset($_POST['band_merk']) ? $_POST['band_merk'] : '';
    foreach($wielen as $wiel) {
      if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        $selected = $post_wiel['wiel'] === $wiel->merk_code ? ' selected="selected"' : '' ;
      }

      else {
        $selected = $get_wiel['wiel'] === $wiel->merk_code ? ' selected="selected"' : '' ;
      }

      echo '\t\t\t\t\t\t\t\t\t\t\t<option value="' . $wiel->merk_code . '"' . $selected . '>' . $wiel->merk_naam . '</option>';
    }

?>
Gewijzigd op 09/07/2012 15:34:41 door Kris Peeters
 
Joep van Dongen

Joep van Dongen

09/07/2012 15:37:42
Quote Anchor link
Hij blijft hetzelfde doen... Hij toont League en onthoud mijn selectie niet...

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
                    <div class="bandwielkolom">
                        <form action="index.php?lang=nl&p=<?php echo $_GET['p']; ?>#keuze" method="post">
                            <table class="bandentabel">
                                <tr>
                                    <th colspan="2">Op merk zoeken<a name="band"></a></th>
                                </tr>
                                <tr>
                                    <td>Merk:</td>
                                    <td>
                                        <select name="band_merk">
                                            <option value="0">- Merk -</option>
<?php
    $wielen
= $wielclass->getMerkenWielen($website);
    $get_wiel = isset($_GET['wiel']) ? $_GET['wiel'] : '';
    $post_wiel = isset($_POST['band_merk']) ? $_POST['band_merk'] : '';
    foreach($wielen as $wiel) {
      if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        $selected = $post_wiel['wiel'] === $wiel->merk_code ? ' selected="selected"' : '' ;
      }

      else {
        $selected = $get_wiel['wiel'] === $wiel->merk_code ? ' selected="selected"' : '' ;
      }

      echo '\t\t\t\t\t\t\t\t\t\t\t<option value="' . $wiel->merk_code . '">' . $wiel->merk_naam . '</option>';
    }

?>

                                        </select>
                                    </td>
                                </tr>
                                <tr>
                                    <td>&nbsp;</td>
                                    <td><input type="submit" name="band_submit" value="Zoek"/></td>
                                </tr>
                            </table>
                        </form>
                    </div>
                                        <div class="clearboth"></div>
                                        <?php
if(isset($_POST['band_submit']))
    echo $wiel->merk_naam;
?>


Doe ik dit wel op de juiste manier? Want heb het gevoel dat het daar niet goed gaat.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
if(isset($_POST['band_submit']))
    echo $wiel->merk_naam;
 
Kris Peeters

Kris Peeters

09/07/2012 15:41:13
Quote Anchor link
echo '\t\t\t\t\t\t\t\t\t\t\t<option value="' . $wiel->merk_code . '"' . $selected . '>' . $wiel->merk_naam . '</option>';


Die $selected niet vergeten; misschien had je net te vroeg gecopy/paste
 
- SanThe -

- SanThe -

09/07/2012 15:42:55
Quote Anchor link
Zet error reporting eens aan.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

// rest
?>
 
Joep van Dongen

Joep van Dongen

09/07/2012 16:09:47
Quote Anchor link
Die selected had ik er inderdaad nog niet bij zitten maar hij blijft hetzelfde doen als voorheen. Snap er niks van... Ik krijg ook geen errors

Toevoeging op 10/07/2012 08:50:55:

Ok dit is wat ik nu heb maar het gaat nog steeds niet goed... en ik snap er niks van

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
<div class="bandwielkolom">
                        <form action="index.php?lang=nl&p=<?php echo $_GET['p']; ?>#keuze" method="post">
                            <table class="bandentabel">
                                <tr>
                                    <th colspan="2">Op merk zoeken<a name="band"></a></th>
                                </tr>
                                <tr>
                                    <td>Merk:</td>
                                    <td>
                                        <select name="band_merk">
                                            <option value="0">- Merk -</option>
<?php
    $wielen
= $wielclass->getMerkenWielen($website);
    $get_wiel = isset($_GET['wiel']) ? $_GET['wiel'] : '';
    $post_wiel = isset($_POST['band_merk']) ? $_POST['band_merk'] : '';
    foreach($wielen as $wiel) {
      if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        $selected = $post_wiel['wiel'] === $wiel->merk_code ? ' selected="selected"' : '' ;
      }

      else {
        $selected = $get_wiel['wiel'] === $wiel->merk_code ? ' selected="selected"' : '' ;
      }

      echo '\t\t\t\t\t\t\t\t\t\t\t<option value="' . $wiel->merk_code . '"' . $selected . '>' . $wiel->merk_naam . '</option>';
    }

?>

                                        </select>
                                    </td>
                                </tr>
                                <tr>
                                    <td>&nbsp;</td>
                                    <td><input type="submit" name="band_submit" value="Zoek"/></td>
                                </tr>
                            </table>
                        </form>
                    </div>
                                                            <?php
if(isset($_POST['band_submit']) && $_POST['band_merk'] == $wiel->merk_code)
    echo $wiel->merk_naam;
?>


Precess code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
if(isset($_POST['band_submit']) && $_POST['band_merk'] == $wiel->merk_code)
    echo $wiel->merk_naam;


Ik heb nu een selectbox met 4 opties die hij uit mijn database haalt dus dat werkt correct. Als je er 1 selecteerd en op submit klikt moet hij dus die data tonen en selected blijven maar ik krijg het maar niet voor elkaar.

Als ik nu een optie selecteer en op Zoek klik dan gaat hij submitten maar hij laad niks en niks blijft geselecteerd dus ergens gaat er iets niet goed...

Ik weet dat ik iets oversla, over het hoofd zie of totaal verkeerd doe maar ik weet niet wat... alle hulp is welkom
 



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.