dropdown menu werkt niet
Als je een keuze maakt moeten de gegevens op de pagina verschijnen.
Ik krijg foutmeldingen en het lukt me niet om die weg te krijgen.
Code van het dropdownmenu en een stukje om het resultaat te laten zien.
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
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
<?php
<div class="categorie" id="categorie">
[code]<?php
$query = "SELECT cat_naam FROM categorie ORDER BY cat_naam";
$result = mysql_query($query) or die ("Sorry maar ik kan de categorieën niet weergeven");
echo '<form method="POST">';
echo '<select name="categorie">';
while ($row = mysql_fetch_object($result)){
echo '<option value="'.$row->cat_naam.'">'.$row->cat_naam.'</option>';
}
echo '</select>';
echo '<input name="submit" type="submit" value="Ga" />';
echo '</form>';
?>
</div>
<div class="menurechts" id="menurechts"></div>
<div class="inhoud" id="inhoud">
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['submit'] == 'Ga') {
$sql = 'SELECT * FROM linken WHERE cat_naam = '.$_POST['categorie'].'';
$res = mysql_query($sql)or trigger_error ("Sorry maar ik kan de categorie niet weergeven, probeer het later opnieuw.");
$teller = 0;
$list_completed = false;
echo '<table align="center"><tr>';
$kolommen = 3;
while ($row = mysql_fetch_assoc($res)) {
?>
Foutmelding 1: Sorry maar ik kan de categorie niet weergeven, probeer het later opnieuw.
Foutmelding 2: Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource on line 56 (is de onderste regel uit bovenstaande code)
Tabellen:
[img]http://www.kijk-vergelijk.nl/kado1.jpg[/img]
[img]http://www.kijk-vergelijk.nl/kado2.jpg[/img]
<div class="categorie" id="categorie">
[code]<?php
$query = "SELECT cat_naam FROM categorie ORDER BY cat_naam";
$result = mysql_query($query) or die ("Sorry maar ik kan de categorieën niet weergeven");
echo '<form method="POST">';
echo '<select name="categorie">';
while ($row = mysql_fetch_object($result)){
echo '<option value="'.$row->cat_naam.'">'.$row->cat_naam.'</option>';
}
echo '</select>';
echo '<input name="submit" type="submit" value="Ga" />';
echo '</form>';
?>
</div>
<div class="menurechts" id="menurechts"></div>
<div class="inhoud" id="inhoud">
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['submit'] == 'Ga') {
$sql = 'SELECT * FROM linken WHERE cat_naam = '.$_POST['categorie'].'';
$res = mysql_query($sql)or trigger_error ("Sorry maar ik kan de categorie niet weergeven, probeer het later opnieuw.");
$teller = 0;
$list_completed = false;
echo '<table align="center"><tr>';
$kolommen = 3;
while ($row = mysql_fetch_assoc($res)) {
?>
Foutmelding 1: Sorry maar ik kan de categorie niet weergeven, probeer het later opnieuw.
Foutmelding 2: Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource on line 56 (is de onderste regel uit bovenstaande code)
Tabellen:
[img]http://www.kijk-vergelijk.nl/kado1.jpg[/img]
[img]http://www.kijk-vergelijk.nl/kado2.jpg[/img]
Geef in je trigger_error() ook een mysql_error() mee, op die manier weet je ook waar de fout in de query zit. Want dat is waar het fout gaat, de 2e query.
on line 56
Unknown column 'Diverse' in 'where clause'
Ik zeg toch eigenlijk nergens dat de kolom naam zo moet heten?
ps. Wat ik me afvraag? Waarom heb je in de tabel 'linken' de kolom 'cat_naam' staan? Je hebt een aparte tabel voor de categorieën zoals het hoort, dus in de tabel 'linken' zou je alleen een id van een categorie moeten hebben...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Dit vind ik er onoverzichtelijk uitzien, dus vind ik de oplossing van Blanche beter. Ik wil bij de oplossing die ik gaf alleen aanduiden waar je fout aan lag.
Even iets anders (nu we toch bezig zijn), waarom haal je alles op (*) heb je echt alles nodig? Haal alleen gegevens op die je nodig hebt.
Dit werkt inderdaad, bedankt. Nu weer verder....
@Jordy
Ik heb inderdaad alles nodig
Fatal error: Cannot use object of type stdClass as array in
Hier zie je wel alle gegevens die ik wil zien op het scherm.
Als ik object in assoc wijzig zie ik ineens geen gegevens meer op het scherm.
De layout is gewijzigd en de code ziet er nu zo uit.
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
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
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['submit'] == 'Ga') {
$sql = "SELECT * FROM linken WHERE cat_naam = '".$_POST['categorie']."'";
$res = mysql_query($sql)or trigger_error ("Sorry maar ik kan de categorie niet weergeven, probeer het later opnieuw.");
echo '<table width="120" align="left" cellspacing="2" cellpadding="0">';
echo '<tr>';
$kolommen = 3;
while ($row = mysql_fetch_object($res)or die (mysql_error())){
echo '<td class="kopje"><h2>' . $_POST['categorie'] . ' kadobonnen</h2></td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td><img src="'.$row->link_plaatje.'" border="0"></td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td>'.$row->link_omschrijving.'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td>'.$row->link_prijs.'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td><a href="uit.php?kadobon=' . $row['link_id'] . '" target="_blank" title="Naar de kadobon">Naar de kadobon</a><br></td>';
echo '</tr>'.PHP_EOL;
$counter++;
if($counter==$kolommen)
{
echo '</table><table align="center"><tr>';
$counter = 0;
}
}
echo '</table>'.PHP_EOL;
}
?>
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['submit'] == 'Ga') {
$sql = "SELECT * FROM linken WHERE cat_naam = '".$_POST['categorie']."'";
$res = mysql_query($sql)or trigger_error ("Sorry maar ik kan de categorie niet weergeven, probeer het later opnieuw.");
echo '<table width="120" align="left" cellspacing="2" cellpadding="0">';
echo '<tr>';
$kolommen = 3;
while ($row = mysql_fetch_object($res)or die (mysql_error())){
echo '<td class="kopje"><h2>' . $_POST['categorie'] . ' kadobonnen</h2></td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td><img src="'.$row->link_plaatje.'" border="0"></td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td>'.$row->link_omschrijving.'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td>'.$row->link_prijs.'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td><a href="uit.php?kadobon=' . $row['link_id'] . '" target="_blank" title="Naar de kadobon">Naar de kadobon</a><br></td>';
echo '</tr>'.PHP_EOL;
$counter++;
if($counter==$kolommen)
{
echo '</table><table align="center"><tr>';
$counter = 0;
}
}
echo '</table>'.PHP_EOL;
}
?>
Je gebruik nu beide door elkaar, de fout zit hem op regel 23 in bovenstaande code.
Jeetje zeg, nooit geweten.
Ik gebruikte altijd $row->kolom en iemand waar ik een code van heb gebruikt gebruikte inderdaad $row['kolom']
Ik dacht dat dat gewoon een voorkeur was van diegene.
Ha, alweer wat geleerd.
Nou maar weer verder dan met het script......
Hoe maak je meerdere dropdown menu's onder elkaar?
Ik heb de "input-name" al een paar keer gewijzigd maar het lukt niet.
Het bovenste menu werkt wel maar de tweede niet.
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
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
<div class="categorie" id="categorie">
[code]<?php
$query = "SELECT cat_naam FROM categorie ORDER BY cat_naam";
$result = mysql_query($query) or die ("Sorry maar ik kan de categorieën niet weergeven");
echo '<form method="POST">';
echo '<select name="categorie">';
while ($row = mysql_fetch_assoc($result)){
echo '<option value="'.$row['cat_naam'] .'">'.$row['cat_naam'].'</option>';
}
echo '</select>';
echo '<input name="submit" type="submit" value="Ga" />';
echo '</form>';
?>
</div> <!-- einde div categorie in het menulinks-->
<h1>Groep</h1>
<div class="groep" id="groep">
<?php
$query = "SELECT groep_naam FROM groep ORDER BY groep_naam";
$result = mysql_query($query) or die ("Sorry maar ik kan de groepen niet weergeven");
echo '<form method="POST">';
echo '<select name="groepen">';
while ($row = mysql_fetch_assoc($result)){
echo '<option value="'.$row['groep_naam'] .'">'.$row['groep_naam'].'</option>';
}
echo '</select>';
echo '<input name="submit" type="submit" value="Ga" />';
echo '</form>';
?>
</div> <!-- einde div groep in menulinks -->
</div> <!-- einde div menulinks -->
?>
<div class="categorie" id="categorie">
[code]<?php
$query = "SELECT cat_naam FROM categorie ORDER BY cat_naam";
$result = mysql_query($query) or die ("Sorry maar ik kan de categorieën niet weergeven");
echo '<form method="POST">';
echo '<select name="categorie">';
while ($row = mysql_fetch_assoc($result)){
echo '<option value="'.$row['cat_naam'] .'">'.$row['cat_naam'].'</option>';
}
echo '</select>';
echo '<input name="submit" type="submit" value="Ga" />';
echo '</form>';
?>
</div> <!-- einde div categorie in het menulinks-->
<h1>Groep</h1>
<div class="groep" id="groep">
<?php
$query = "SELECT groep_naam FROM groep ORDER BY groep_naam";
$result = mysql_query($query) or die ("Sorry maar ik kan de groepen niet weergeven");
echo '<form method="POST">';
echo '<select name="groepen">';
while ($row = mysql_fetch_assoc($result)){
echo '<option value="'.$row['groep_naam'] .'">'.$row['groep_naam'].'</option>';
}
echo '</select>';
echo '<input name="submit" type="submit" value="Ga" />';
echo '</form>';
?>
</div> <!-- einde div groep in menulinks -->
</div> <!-- einde div menulinks -->
?>
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
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
85
86
87
88
89
90
91
92
93
94
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
85
86
87
88
89
90
91
92
93
94
<?php
<div class="tabelkadobonnen" id="tabelkadobonnen">
[code]<?php
//de tabel voor categorie
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['submit'] == 'Ga') {
$sql = "SELECT cat_naam FROM linken WHERE cat_naam = '".$_POST['categorie']."'";
echo '<h1>' . $_POST['categorie'] . ' kadobonnen</h1>';
$sql = "SELECT * FROM linken WHERE cat_naam = '".$_POST['categorie']."'";
$res = mysql_query($sql)or trigger_error ("Sorry maar ik kan de categorie niet weergeven, probeer het later opnieuw.");
echo '<table width="100%" class="tabelgroot" align="center" cellspacing="0" cellpadding="0">';
echo '<tr><td valign="top" align="center">';
$kolommen = 3;
while ($row = mysql_fetch_assoc($res)or die (mysql_error())){
echo '<table class="kadobon" align="left" width="">';
echo '<tr>';
echo '<td width="120" height="90"><img src="'.$row['link_plaatje'].'" border="0"></td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="naam">'.$row['link_naam'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="omschrijving">'.$row['link_omschrijving'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="prijs">'.$row['link_prijs'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="linkbon"><a href="kadobon.php?kadobon=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/kadobon.gif" border="0" alt="Meteen naar de kadobon" title="Meteen naar de kadobon" /></a> / <a href="website.php?website=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/website.gif" border="0" alt="Naar de website" title="Naar de website" /></a></td>';
echo '</tr></table>';
$counter++;
if($counter==$kolommen)
{
echo '</tr></table><table align="left" width="120"><tr>';
$counter = 0;
}
}
echo '</tr></table>'.PHP_EOL;
}
//de tabel voor groepen
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['submit'] == 'Ga') {
$sql = "SELECT * FROM linken WHERE groep_naam = '".$_POST['groepen']."'";
echo '<h1>' . $_POST['groepen'] . ' kadobonnen</h1>';
$sql = "SELECT * FROM linken WHERE groep_naam = '".$_POST['groep']."'";
$res = mysql_query($sql)or trigger_error ("Sorry maar ik kan de groepen niet weergeven, probeer het later opnieuw.");
echo '<table width="100%" class="tabelgroot" align="center" cellspacing="0" cellpadding="0">';
echo '<tr><td valign="top" align="center">';
$kolommen = 3;
while ($row = mysql_fetch_assoc($res)or die (mysql_error())){
echo '<table class="kadobon" align="left" width="">';
echo '<tr>';
echo '<td width="120" height="90"><img src="'.$row['link_plaatje'].'" border="0"></td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="naam">'.$row['link_naam'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="omschrijving">'.$row['link_omschrijving'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="prijs">'.$row['link_prijs'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="linkbon"><a href="kadobon.php?kadobon=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/kadobon.gif" border="0" alt="Meteen naar de kadobon" title="Meteen naar de kadobon" /></a> / <a href="website.php?website=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/website.gif" border="0" alt="Naar de website" title="Naar de website" /></a></td>';
echo '</tr></table>';
$counter++;
if($counter==$kolommen)
{
echo '</tr></table><table align="left" width="120"><tr>';
$counter = 0;
}
}
echo '</tr></table>'.PHP_EOL;
}
//einde tabel voor groepen
?>
</div> <!-- einde div tabelkadobonnen in de inhoud -->
?>
<div class="tabelkadobonnen" id="tabelkadobonnen">
[code]<?php
//de tabel voor categorie
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['submit'] == 'Ga') {
$sql = "SELECT cat_naam FROM linken WHERE cat_naam = '".$_POST['categorie']."'";
echo '<h1>' . $_POST['categorie'] . ' kadobonnen</h1>';
$sql = "SELECT * FROM linken WHERE cat_naam = '".$_POST['categorie']."'";
$res = mysql_query($sql)or trigger_error ("Sorry maar ik kan de categorie niet weergeven, probeer het later opnieuw.");
echo '<table width="100%" class="tabelgroot" align="center" cellspacing="0" cellpadding="0">';
echo '<tr><td valign="top" align="center">';
$kolommen = 3;
while ($row = mysql_fetch_assoc($res)or die (mysql_error())){
echo '<table class="kadobon" align="left" width="">';
echo '<tr>';
echo '<td width="120" height="90"><img src="'.$row['link_plaatje'].'" border="0"></td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="naam">'.$row['link_naam'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="omschrijving">'.$row['link_omschrijving'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="prijs">'.$row['link_prijs'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="linkbon"><a href="kadobon.php?kadobon=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/kadobon.gif" border="0" alt="Meteen naar de kadobon" title="Meteen naar de kadobon" /></a> / <a href="website.php?website=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/website.gif" border="0" alt="Naar de website" title="Naar de website" /></a></td>';
echo '</tr></table>';
$counter++;
if($counter==$kolommen)
{
echo '</tr></table><table align="left" width="120"><tr>';
$counter = 0;
}
}
echo '</tr></table>'.PHP_EOL;
}
//de tabel voor groepen
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['submit'] == 'Ga') {
$sql = "SELECT * FROM linken WHERE groep_naam = '".$_POST['groepen']."'";
echo '<h1>' . $_POST['groepen'] . ' kadobonnen</h1>';
$sql = "SELECT * FROM linken WHERE groep_naam = '".$_POST['groep']."'";
$res = mysql_query($sql)or trigger_error ("Sorry maar ik kan de groepen niet weergeven, probeer het later opnieuw.");
echo '<table width="100%" class="tabelgroot" align="center" cellspacing="0" cellpadding="0">';
echo '<tr><td valign="top" align="center">';
$kolommen = 3;
while ($row = mysql_fetch_assoc($res)or die (mysql_error())){
echo '<table class="kadobon" align="left" width="">';
echo '<tr>';
echo '<td width="120" height="90"><img src="'.$row['link_plaatje'].'" border="0"></td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="naam">'.$row['link_naam'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="omschrijving">'.$row['link_omschrijving'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="prijs">'.$row['link_prijs'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="linkbon"><a href="kadobon.php?kadobon=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/kadobon.gif" border="0" alt="Meteen naar de kadobon" title="Meteen naar de kadobon" /></a> / <a href="website.php?website=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/website.gif" border="0" alt="Naar de website" title="Naar de website" /></a></td>';
echo '</tr></table>';
$counter++;
if($counter==$kolommen)
{
echo '</tr></table><table align="left" width="120"><tr>';
$counter = 0;
}
}
echo '</tr></table>'.PHP_EOL;
}
//einde tabel voor groepen
?>
</div> <!-- einde div tabelkadobonnen in de inhoud -->
?>
Op de submit knop heb ik bij allebei "Ga" staan.
Dit had ik als test even gewijzigd en toen deed hij het wel.
Om er voor te zorgen dat ze het allebei doen heb ik er een image ingezet en de value-knop heb ik verschillende namen gegeven.
Hopelijk is dit goed of heb ik weer iets verzonnen dat niet correct is.