Query werkt niet goed
Gisteren heb ik ook op de forum gepost met dezelfde code. En heb m'n zo veranderd dat hij geen error meer geeft. Maar nu geeft de code niet het gewenste resultaat. Ik heb de code gemaakt zoals ik het wil hebben, alleen dan zonder de while. Dus mijn vraag is hoe krijg ik de while in mijn table(de bovenste dus)?
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
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
<?php
$sql3 = "SELECT naam, begindatum, evenementID FROM evenement WHERE organiserendeVerenigingID = $vid";
$result3 = mysql_query($sql3);
if (!$result3) {
echo "Could not successfully run query ($sql3) from DB: " . mysql_error();
exit; }
//
while ($row = mysql_fetch_assoc($result3))
{
$naam2 = $row["naam"];
$datum = $row["begindatum"];
$evenid = $row ["evenementID"];
PRINT("<TABLE border='1'>
<TR>
<TD><a href='/KBS/evenement/RaadpleegEvenement.php?evenementid=$evenid'>$naam2</a></TD>
<TD>$datum</TD>
</TR>
<TR>
<TD>Aangemelden studenten</TD>
<TD> Hierin zou ik de onderstaande while willen hebben </TD>
</TR>
<TR>
<TD>Niet aangemelden studenten</TD>
<TD> Hierin zou ik de onderstaande while willen hebben </TD>
</TR>
<TR>
<TD><a href='/KBS/Verenigingen/evenement_uitnodiging.php?id=$evenid'>Klik hier om een uitnodiging te sturen</a></TD>
</TR>
</TABLE>");
}
?>
<br><br>
<table border='1'>
<TR>
<TD><a href='/KBS/evenement/RaadpleegEvenement.php?evenementid='>$naam2</a></TD><TD>$datum</TD></TR>
<TR>
<TD>Aangemelden studenten</TD>
<TD>
<?php
$sql4 = "SELECT S.voornaam, S.achternaam, S.studentID FROM student AS S JOIN lidmaatschap AS L ON S.studentID = L.studentID JOIN evenement as E ON verenigingID = organiserendeVerenigingID WHERE verenigingID = '$vid' AND E.naam = '$naam2'";
$result4 = mysql_query($sql4);
while ($row = mysql_fetch_assoc($result4))
{
$voornaam = $row["voornaam"];
$achternaam = $row["achternaam"];
$sid = $row["studentID"];
print("$voornaam");
}
?>
</TD>
</TR>
<TR>
<TD>Niet aangemelden studenten</TD>
<TD>
<?php
$sql5 = "SELECT S.voornaam, S.achternaam, S.studentID FROM student AS S JOIN lidmaatschap AS L ON S.studentID = L.studentID JOIN evenement as E ON verenigingID = organiserendeVerenigingID WHERE verenigingID = '$vid' AND E.naam != '$naam2'";
$result5 = mysql_query($sql5);
while ($row = mysql_fetch_assoc($result5))
{
$voornaam = $row["voornaam"];
$achternaam = $row["achternaam"];
$sid = $row["studentID"];
print("$voornaam");
}
?>
</TD>
</TR>
<TR>
<TD><a href='/KBS/Verenigingen/evenement_uitnodiging.php'>Klik hier om een uitnodiging te sturen</a></TD>
</TR>
</table>
$sql3 = "SELECT naam, begindatum, evenementID FROM evenement WHERE organiserendeVerenigingID = $vid";
$result3 = mysql_query($sql3);
if (!$result3) {
echo "Could not successfully run query ($sql3) from DB: " . mysql_error();
exit; }
//
while ($row = mysql_fetch_assoc($result3))
{
$naam2 = $row["naam"];
$datum = $row["begindatum"];
$evenid = $row ["evenementID"];
PRINT("<TABLE border='1'>
<TR>
<TD><a href='/KBS/evenement/RaadpleegEvenement.php?evenementid=$evenid'>$naam2</a></TD>
<TD>$datum</TD>
</TR>
<TR>
<TD>Aangemelden studenten</TD>
<TD> Hierin zou ik de onderstaande while willen hebben </TD>
</TR>
<TR>
<TD>Niet aangemelden studenten</TD>
<TD> Hierin zou ik de onderstaande while willen hebben </TD>
</TR>
<TR>
<TD><a href='/KBS/Verenigingen/evenement_uitnodiging.php?id=$evenid'>Klik hier om een uitnodiging te sturen</a></TD>
</TR>
</TABLE>");
}
?>
<br><br>
<table border='1'>
<TR>
<TD><a href='/KBS/evenement/RaadpleegEvenement.php?evenementid='>$naam2</a></TD><TD>$datum</TD></TR>
<TR>
<TD>Aangemelden studenten</TD>
<TD>
<?php
$sql4 = "SELECT S.voornaam, S.achternaam, S.studentID FROM student AS S JOIN lidmaatschap AS L ON S.studentID = L.studentID JOIN evenement as E ON verenigingID = organiserendeVerenigingID WHERE verenigingID = '$vid' AND E.naam = '$naam2'";
$result4 = mysql_query($sql4);
while ($row = mysql_fetch_assoc($result4))
{
$voornaam = $row["voornaam"];
$achternaam = $row["achternaam"];
$sid = $row["studentID"];
print("$voornaam");
}
?>
</TD>
</TR>
<TR>
<TD>Niet aangemelden studenten</TD>
<TD>
<?php
$sql5 = "SELECT S.voornaam, S.achternaam, S.studentID FROM student AS S JOIN lidmaatschap AS L ON S.studentID = L.studentID JOIN evenement as E ON verenigingID = organiserendeVerenigingID WHERE verenigingID = '$vid' AND E.naam != '$naam2'";
$result5 = mysql_query($sql5);
while ($row = mysql_fetch_assoc($result5))
{
$voornaam = $row["voornaam"];
$achternaam = $row["achternaam"];
$sid = $row["studentID"];
print("$voornaam");
}
?>
</TD>
</TR>
<TR>
<TD><a href='/KBS/Verenigingen/evenement_uitnodiging.php'>Klik hier om een uitnodiging te sturen</a></TD>
</TR>
</table>
Alvast bedankt voor jullie tijd
Gr,
Pieter
Gewijzigd op 08/01/2011 15:12:34 door Pieter Iepsma
Pieter Iepsma op 08/01/2011 12:57:11:
Gisteren heb ik ook op de forum gepost met dezelfde code.
Waarom ga je daar dan niet verder?
Code aub tussen [.code] [./code] -tags plaatsen (zonder .)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
echo '<table class="">';
while( $rec = mysql_fetch_assoc( $sql ) )
{
echo '
<tr>
<td>Ding</td>
<td>'.$rec['ding'].'</td>
</tr>';
}
echo '</table>';
?>
echo '<table class="">';
while( $rec = mysql_fetch_assoc( $sql ) )
{
echo '
<tr>
<td>Ding</td>
<td>'.$rec['ding'].'</td>
</tr>';
}
echo '</table>';
?>
- Haal variabelen ATLIJD buiten de quotes
- Maak een foutafhandeling
- Geef de query vars duidelijke namen zodat je weet waar het over gaat, en waar het uitkomt.
Doe je dat allemaal, kom je al een aardig eind ;).
SELECT S.voornaam, S.achternaam, S.studentID FROM student AS S JOIN lidmaatschap AS L ON S.studentID = L.studentID JOIN evenement as E ON verenigingID = organiserendeVerenigingID WHERE verenigingID = '$vid' AND E.naam = '$naam2'
Iedereen selecteert die lid is van de vereniging en wie zich voor het evenemenet($naam2) hebben ingeschreven.
Maar als resultaat krijg ik iedereen die lid is van de vereniging
En bij de andere query wil ik juist iedereen die lid is van de vereniging maar niet voor dit($naam2) evenement heeft ingeschreven.
En hier krijg ik het zelfde resultaat alleen dan 2x...
Dus hoe moet ik mijn query aanpassen?
Alvast bedankt voor je tijd.
Laat je datamodel eens zien, dan kan ik meer doen, tis beetje onduidelijk wat nu waar vandaan komt.