Zoek menu maken met opties

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dennis  van DUin

Dennis van DUin

14/12/2015 17:43:26
Quote Anchor link
Beste mensen,

Ik ben bezig met mijn website en nu heb ik een zoek menu gemaakt met de volgende code:

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
    <b>Zoek in de database:</b>
    <form method="POST" action="programmas.php">
    
    <select type="text" name="zoeksoort">
  <option value="0" <?php echo ((isset($_POST['zoeksoort'])) and ($_POST['zoeksoort'] == "0")) ? 'selected' : '' ?>>Leeg</option>
  <option value="1" <?php echo ((isset($_POST['zoeksoort'])) and ($_POST['zoeksoort'] == "1")) ? 'selected' : '' ?>>Applicaties</option>
  <option value="2" <?php echo ((isset($_POST['zoeksoort'])) and ($_POST['zoeksoort'] == "2")) ? 'selected' : '' ?>>Tools</option>
    </select><br>
    
    
        <select type="text" name="zoekgroep">
  <option value="0" <?php echo ((isset($_POST['zoekgroep'])) and ($_POST['zoekgroep'] == "0")) ? 'selected' : '' ?>>Leeg</option>
  <option value="12" <?php echo ((isset($_POST['zoekgroep'])) and ($_POST['zoekgroep'] == "12")) ? 'selected' : '' ?>>groep 1 en 2</option>
  <option value="9" <?php echo ((isset($_POST['zoekgroep'])) and ($_POST['zoekgroep'] == "9")) ? 'selected' : '' ?>>Alle groepen</option>
    </select><br>
            <select type="text" name="zoekvak">
  <option value="0" <?php echo ((isset($_POST['zoekvak'])) and ($_POST['zoekvak'] == "0")) ? 'selected' : '' ?>>Leeg</option>
  <option value="rekenen" <?php echo ((isset($_POST['zoekvak'])) and ($_POST['zoekvak'] == "rekenen")) ? 'selected' : '' ?>>Rekenen</option>
  <option value="extra" <?php echo ((isset($_POST['zoekvak'])) and ($_POST['zoekvak'] == "extra")) ? 'selected' : '' ?>>Extra</option>
  
    </select>
    <br>
<center><input class="myButton" type="submit" name="submit" value="Zoeken"></center>
</form>
</div>


Dit werkt opzich prima, maar ik zou mijn menu graag anders willen hebben. Ik zou graag willen hebben dat je alleen optie 1 ziet; Tools, applicaties. Als iemand dan Tools aanklikt moeten alle tools gewoon zichtbaar worden. Maar als je applicaties aanklikt moet het volgende menu der onder komen:
Groep 1/2, groep 3/4, groep 5/6 groep 7/8.
ALs je dan op groep 1/2 klikt moet er onder komen
rekenen, taal
Als je op groep 3/4 klikt moet er onder komen
rekenen, taal, schrijven, engels

En dat voor alle klassen. Het zoekmenu moet zich dus aanpassen aan de gegeven optie. Weet iemand hoe ik dit kan doen?

Groetjes,
Dennis


ps: De volledige code voor het zoeken en weergeven is:
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
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
<?
$soort1
= $_POST['zoeksoort'];
$groep1 = $_POST['zoekgroep'];
$vak1 = $_POST['zoekvak'];
?>


    <b>Zoek in de database:</b>
    <form method="POST" action="programmas.php">
    
    <select type="text" name="zoeksoort">
  <option value="0" <?php echo ((isset($_POST['zoeksoort'])) and ($_POST['zoeksoort'] == "0")) ? 'selected' : '' ?>>Leeg</option>
  <option value="1" <?php echo ((isset($_POST['zoeksoort'])) and ($_POST['zoeksoort'] == "1")) ? 'selected' : '' ?>>Applicaties</option>
  <option value="2" <?php echo ((isset($_POST['zoeksoort'])) and ($_POST['zoeksoort'] == "2")) ? 'selected' : '' ?>>Tools</option>
    </select><br>
    
    
        <select type="text" name="zoekgroep">
  <option value="0" <?php echo ((isset($_POST['zoekgroep'])) and ($_POST['zoekgroep'] == "0")) ? 'selected' : '' ?>>Leeg</option>
  <option value="12" <?php echo ((isset($_POST['zoekgroep'])) and ($_POST['zoekgroep'] == "12")) ? 'selected' : '' ?>>groep 1 en 2</option>
  <option value="9" <?php echo ((isset($_POST['zoekgroep'])) and ($_POST['zoekgroep'] == "9")) ? 'selected' : '' ?>>Alle groepen</option>
    </select><br>
            <select type="text" name="zoekvak">
  <option value="0" <?php echo ((isset($_POST['zoekvak'])) and ($_POST['zoekvak'] == "0")) ? 'selected' : '' ?>>Leeg</option>
  <option value="rekenen" <?php echo ((isset($_POST['zoekvak'])) and ($_POST['zoekvak'] == "rekenen")) ? 'selected' : '' ?>>Rekenen</option>
  <option value="extra" <?php echo ((isset($_POST['zoekvak'])) and ($_POST['zoekvak'] == "extra")) ? 'selected' : '' ?>>Extra</option>
  
    </select>
    <br>
<center><input class="myButton" type="submit" name="submit" value="Zoeken"></center>
</form>
</div>

        <div id="contentcolumn">
     <b>Programma's:</b><br><br>
Gebruik de zoekfunctie om de juiste app of tool te vinden. De applicaties zijn ook af te spelen op het digibord.
            <br>

<?
    //-- natuurlijk moet er eerst een connectie met de database worden gemaakt:
    if (!@mysql_select_db("my_dennisvanduin", @mysql_connect("localhost", "programmas", "")))
    {

        echo "Er kan geen database connectie gemaakt worden.";
        exit();
    }

    

    //-- $_POST['zoekterm'] is de naam van het zoekveld in het formulier wat we
    //-- hebben gemaakt in het vorige 'hoofdstuk'. Dit is dus de SQL code:

 
    $sql = "SELECT img, link, naam FROM `programmas` WHERE `soort` = '$soort1' AND `groep` = '$groep1'"; /* AND `vak` = '$vak1'"; */

    //-- voer de SQL code uit en zet dit in een variabele zodat we zometeen kunnen
    //-- kijken of er een resultaat is

    $res = mysql_query($sql);
    
    //-- bekijk nu of er een resultaat is, of het zoekwoord dus gevonden is of niet
    if (mysql_num_rows($res) >= 1)
    {

        //-- er is een resultaat gevonden, toon de resultaten via een while () loop
        while ($row = mysql_fetch_array($res))
        {

?>


        <?php
        echo '<table cellspacing="0" display:block; style="float:left; margin-right:4px;" width="32%";>
        <tr bgcolor="#FFEBCC"><th>'
.htmlspecialchars($row['naam']).'</th></tr>
        <tr bgcolor="#FFF3E0"><th><br><A HREF="'
.htmlspecialchars($row['link']).'"><img src="' .htmlspecialchars($row['img']). '"border=1; width=90%;></A>
        </th></tr>
        </table> '

        ?>

    
      <!-- And so on-->
     <?php  
        }
     ?>

          
    <?php  
    }
    //-- als er geen resultaat is gevonden, dus als het zoekwoord niet gevonden is:
    else
    {
        echo '<p>Er zijn geen applicaties of tools gevonden.';
    }

?>


Groetjes,
Dennis
 
PHP hulp

PHP hulp

24/12/2024 06:28:27
 
Johan de wit

johan de wit

15/12/2015 05:18:58
Quote Anchor link
Je de eerste twee keren roep je php op een oude manier dat moet als onderstaande twee zijn en verder vind ik dat je html met php door elkaar gaat....regel 8 lijkt mij gevaarlijk dus daar blijft een vraagteken bij, als een expert mij zin kan keuren zou ik heel erg fijn vinden.
 
Peter K

Peter K

15/12/2015 06:54:37
Quote Anchor link
Je zou met behulp van Ajax een call kunnen doen naar je server.

Stappen die je dan zou uitvoeren:
1. Pagina laden zoals hij nu is, maar dan met enkel opties ingevuld in de eerste dropdown
2. In die pagina een script inbouwen die data ophaalt voor de 2e dropdown.
Deze data kun je ophalen met een ajax call vanuit een extern script.
Je geeft met ajax dan de ingevulde waarde mee van de 1e dropdown.
3. In het externe script maak je functies die je kunt aanroepen.
Het lijkt een beetje op de autocomplete van Jquery: https://jqueryui.com/autocomplete/#remote
Als je dit voor elkaar kunt krijgen op je server, kun je door middel van een paar simpele aanpassingen ook een Ajax call doen.

Meer info kun je hier vinden voor Ajax:
http://api.jquery.com/jquery.ajax/

Hier een voorbeeldje van ajax in combinatie met een resultaat in data.php als JSON encoded
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
$.ajax({
    url: 'data.php',
    data: "voorwaarde1=test&voorwaarde2=test2",
    dataType: 'json',
    success: function(data)
    {
        // De data in de console weergeven
        console.log(data);
        
        // Je kunt hier zelf doen wat je wilt met je data
    }
});
Gewijzigd op 15/12/2015 06:55:24 door Peter K
 



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.