records sorteren
de database opbouw met inhoud:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
-- Tabel structuur voor tabel `klantdocument`
--
CREATE TABLE `klantdocument` (
`id` int(11) NOT NULL auto_increment,
`gebruikerID` int(11) default '0',
`aanvraagID` int(11) NOT NULL default '0',
`documentID` int(11) default '0',
`binnen` enum('nee','ja') default NULL,
PRIMARY KEY (`id`),
KEY `KlantID` (`gebruikerID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
--
-- Gegevens worden uitgevoerd voor tabel `klantdocument`
--
INSERT INTO `klantdocument` VALUES (3, 1, 5, 1, 'ja');
INSERT INTO `klantdocument` VALUES (4, 1, 5, 2, 'ja');
INSERT INTO `klantdocument` VALUES (5, 1, 5, 1, 'nee');
INSERT INTO `klantdocument` VALUES (6, 1, 5, 2, 'nee');
--
CREATE TABLE `klantdocument` (
`id` int(11) NOT NULL auto_increment,
`gebruikerID` int(11) default '0',
`aanvraagID` int(11) NOT NULL default '0',
`documentID` int(11) default '0',
`binnen` enum('nee','ja') default NULL,
PRIMARY KEY (`id`),
KEY `KlantID` (`gebruikerID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
--
-- Gegevens worden uitgevoerd voor tabel `klantdocument`
--
INSERT INTO `klantdocument` VALUES (3, 1, 5, 1, 'ja');
INSERT INTO `klantdocument` VALUES (4, 1, 5, 2, 'ja');
INSERT INTO `klantdocument` VALUES (5, 1, 5, 1, 'nee');
INSERT INTO `klantdocument` VALUES (6, 1, 5, 2, 'nee');
de php code:
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
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
<?php
include('config.php');
$aanvraagID = $_GET['aanvraagID']; //aanvraagID uit URL halen
//alle documenten ophalen die binnen zijn
$query1 = "SELECT * FROM klantdocument WHERE aanvraagID=".$aanvraagID." AND binnen='ja'";
$result1 = mysql_query($query1) or die (mysql_error());
$row1_1 = mysql_fetch_array($result1);
//naam van klant ophalen
$query2 = "SELECT voornaam,tussenvoegsel,achternaam FROM gebruiker WHERE id=".$row1_1['gebruikerID'];
$result2 = mysql_query($query2) or die (mysql_error());
$row2 = mysql_fetch_array($result2);
$voornaam = $row2['voornaam'];
$tussenvoegsel = $row2['tussenvoegsel'];
$achternaam = $row2['achternaam'];
echo('<table cellspacing="0" width="150">');
echo('<tr><th><h3>'.$voornaam.' '.$tussenvoegsel.' '.$achternaam.'</h3></th></tr>');
echo('<tr><td> </td></tr>');
echo('<tr><td> </td></tr>');
echo('<tr><th style="border-top: 1px solid Black" style="border-bottom: 1px solid Black" style="border-left: 1px solid Black" style="border-right: 1px solid Black"><h3>Binnen</h3></th></tr>');
echo('<tr><th style="border-bottom: 1px solid Black" style="border-left: 1px solid Black" style="border-right: 1px solid Black" align="left">Document</th><th></th>');
while($row1 = mysql_fetch_array($result1))
{
//document naam ophalen
$query3 = "SELECT document_naam FROM documenten WHERE id=".$row1['documentID'];
$result3 = mysql_query($query3);
$document = mysql_result($result3,'document_naam');
echo('<tr><td style="border-bottom: 1px solid Black" style="border-left: 1px solid Black" style="border-right: 1px solid Black">'.$document.'</td><td>'.$row1['id'].'</tr>');
}
//alle documenten ophalen die nog niet binnen zijn
$query4 = "SELECT * FROM klantdocument WHERE aanvraagID=".$aanvraagID." AND binnen='nee'";
$result4 = mysql_query($query4) or die (mysql_error());
if (mysql_num_rows($result4) >= 0)
{
echo('<tr><td> </td></tr>');
echo('<tr><td> </td></tr>');
echo('<tr><th style="border-top: 1px solid Black" style="border-bottom: 1px solid Black" style="border-left: 1px solid Black" style="border-right: 1px solid Black"><h3>Nog niet binnen</h3></th></tr>');
echo('<tr><th style="border-bottom: 1px solid Black" style="border-left: 1px solid Black" style="border-right: 1px solid Black" align="left">Document</th></tr>');
while($row4 = mysql_fetch_array($result4))
{
$query5 = "SELECT document_naam FROM documenten WHERE id=".$row4['documentID'];
$result5 = mysql_query($query5);
$document = mysql_result($result5,'document_naam');
echo('<tr><td style="border-bottom: 1px solid Black" style="border-left: 1px solid Black" style="border-right: 1px solid Black">'.$document.'</td><td>'.$row4['id'].'</tr>');
}
}
echo('</table>');
?>
include('config.php');
$aanvraagID = $_GET['aanvraagID']; //aanvraagID uit URL halen
//alle documenten ophalen die binnen zijn
$query1 = "SELECT * FROM klantdocument WHERE aanvraagID=".$aanvraagID." AND binnen='ja'";
$result1 = mysql_query($query1) or die (mysql_error());
$row1_1 = mysql_fetch_array($result1);
//naam van klant ophalen
$query2 = "SELECT voornaam,tussenvoegsel,achternaam FROM gebruiker WHERE id=".$row1_1['gebruikerID'];
$result2 = mysql_query($query2) or die (mysql_error());
$row2 = mysql_fetch_array($result2);
$voornaam = $row2['voornaam'];
$tussenvoegsel = $row2['tussenvoegsel'];
$achternaam = $row2['achternaam'];
echo('<table cellspacing="0" width="150">');
echo('<tr><th><h3>'.$voornaam.' '.$tussenvoegsel.' '.$achternaam.'</h3></th></tr>');
echo('<tr><td> </td></tr>');
echo('<tr><td> </td></tr>');
echo('<tr><th style="border-top: 1px solid Black" style="border-bottom: 1px solid Black" style="border-left: 1px solid Black" style="border-right: 1px solid Black"><h3>Binnen</h3></th></tr>');
echo('<tr><th style="border-bottom: 1px solid Black" style="border-left: 1px solid Black" style="border-right: 1px solid Black" align="left">Document</th><th></th>');
while($row1 = mysql_fetch_array($result1))
{
//document naam ophalen
$query3 = "SELECT document_naam FROM documenten WHERE id=".$row1['documentID'];
$result3 = mysql_query($query3);
$document = mysql_result($result3,'document_naam');
echo('<tr><td style="border-bottom: 1px solid Black" style="border-left: 1px solid Black" style="border-right: 1px solid Black">'.$document.'</td><td>'.$row1['id'].'</tr>');
}
//alle documenten ophalen die nog niet binnen zijn
$query4 = "SELECT * FROM klantdocument WHERE aanvraagID=".$aanvraagID." AND binnen='nee'";
$result4 = mysql_query($query4) or die (mysql_error());
if (mysql_num_rows($result4) >= 0)
{
echo('<tr><td> </td></tr>');
echo('<tr><td> </td></tr>');
echo('<tr><th style="border-top: 1px solid Black" style="border-bottom: 1px solid Black" style="border-left: 1px solid Black" style="border-right: 1px solid Black"><h3>Nog niet binnen</h3></th></tr>');
echo('<tr><th style="border-bottom: 1px solid Black" style="border-left: 1px solid Black" style="border-right: 1px solid Black" align="left">Document</th></tr>');
while($row4 = mysql_fetch_array($result4))
{
$query5 = "SELECT document_naam FROM documenten WHERE id=".$row4['documentID'];
$result5 = mysql_query($query5);
$document = mysql_result($result5,'document_naam');
echo('<tr><td style="border-bottom: 1px solid Black" style="border-left: 1px solid Black" style="border-right: 1px solid Black">'.$document.'</td><td>'.$row4['id'].'</tr>');
}
}
echo('</table>');
?>
het resultaat is hier te vinden
http://www.elektronica-onderdelen.nl/gedegen/?page=ingeleverdedocumenten&aanvraagID=5
ik zie de fout niet, het zal wel weer net zo'n stomme fout zijn als gisteren, maar zit er al ruim een half uur op te staren en te proberen.
ps, niets over de opmaak, dat komt later en is niet voor mijn rekening.
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
Het komt omdat je eerst mysql_fetch array 1 keer uitvoert (regel 9) en later pas in een while loop (regel 26).
mmh juist, en hoe moet ik het het dan oplossen omdat ik de gebruikerID nodig heb in de query om de klantgegevens op te halen, en de naam eerder weergegeven moet worden dan de resultaten
SELECT
d.gebruikerID,
g.voornaam,
g.tussenvoegsel,
g.achternaam
FROM klantdocument AS d, gebruiker AS g
WHERE
d.gebruikerID = g.id
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$query1 = "SELECT *,voornaam,tussenvoegsel,achternaam FROM klantdocument AS document, gebruiker AS gebruiker WHERE document.aanvraagID=".$aanvraagID." AND document.binnen='ja' AND gebruiker.id=document.gebruikerID";
$result1 = mysql_query($query1) or die (mysql_error());
echo('<tr><th><h3>'.$gebruiker['voornaam'].' '.$gebruiker['tussenvoegsel'].' '.$gebruiker['achternaam'].'</h3></th></tr>');
?>
$query1 = "SELECT *,voornaam,tussenvoegsel,achternaam FROM klantdocument AS document, gebruiker AS gebruiker WHERE document.aanvraagID=".$aanvraagID." AND document.binnen='ja' AND gebruiker.id=document.gebruikerID";
$result1 = mysql_query($query1) or die (mysql_error());
echo('<tr><th><h3>'.$gebruiker['voornaam'].' '.$gebruiker['tussenvoegsel'].' '.$gebruiker['achternaam'].'</h3></th></tr>');
?>
maar hij geeft de naam niet weer.
EDIT: ik zie net een stomme fout
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$query1 = "SELECT *,voornaam,tussenvoegsel,achternaam FROM klantdocument AS document, gebruiker AS gebruiker WHERE document.aanvraagID=".$aanvraagID." AND document.binnen='ja' AND gebruiker.id=".$document['gebruikerID'];
$result1 = mysql_query($query1) or die (mysql_error());
echo('<tr><th><h3>'.$gebruiker['voornaam'].' '.$gebruiker['tussenvoegsel'].' '.$gebruiker['achternaam'].'</h3></th></tr>');
?>
$query1 = "SELECT *,voornaam,tussenvoegsel,achternaam FROM klantdocument AS document, gebruiker AS gebruiker WHERE document.aanvraagID=".$aanvraagID." AND document.binnen='ja' AND gebruiker.id=".$document['gebruikerID'];
$result1 = mysql_query($query1) or die (mysql_error());
echo('<tr><th><h3>'.$gebruiker['voornaam'].' '.$gebruiker['tussenvoegsel'].' '.$gebruiker['achternaam'].'</h3></th></tr>');
?>
alleen nu zegt hij: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
dus ik zal toch nog wel een foutje erin hebben.
maar ik heb totaal geen ervaring met het samenvoegen van meerdere query's tot een query. dat maakt het er niet echt makkelijker op natuurlijk :s
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
Kijk even naar mijn vorige post, daarin vind je de juiste syntax.