query laat niks zien terwijl er wel data is (ook geen error)
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
95
96
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
95
96
<?php
// query's
$sql = "SELECT
GROUP_CONCAT(
CONCAT(
medewerkers.voornaam,
' ',
medewerkers.achternaam
)
),
medewerkers.id,
medewerkers.kantoornummer_id,
beschikbaarheid.dag
FROM
medewerkers,
beschikbaarheid
WHERE
medewerkers.id = beschikbaarheid.medewerker_id
GROUP BY
medewerkers.id, beschikbaarheid.dag, medewerkers.voornaam, medewerkers.achternaam, medewerkers.kantoornummer_id
ORDER BY
RAND()";
if(!$result = mysql_query($sql))
{
echo 'Helaas is er een fout opgetreden bij het ophalen van de gegevens';
echo ': ' . mysql_errno() . ':' . mysql_error() . '(<pre>' . $sql . '</pre>)';
}
elseif(mysql_num_rows($result) < 1)
{
echo 'Helaas is er een fout opgetreden bij het ophalen van de gegevens.';
echo 'Het aantal rijen dat opgehaald is '.mysql_num_rows().' terwijl er 1 rij was verwacht. (<pre>' . $sql . '</pre>)';
}
else
{
$titel = 'Avisi Afwasrooster<br/>';
$subtitel = 'Een schoon kopje doet wonderen!<br/>';
echo $titel;
echo $subtitel;
echo '<table class="stats2" cellspacing="0">' . "\n\t";
echo '<tr>' . "\n\t\t" . '<td class="hed" colspan="5">Afwasrooster van ' . $_POST['vandate'] . ' tot ' . $_POST['totdate'] . ' </td>' . "\n\t" . '</tr>' . "\n\t";
//lege variabele voor vergelijk maken
$last_id = '';
$medewerkers_laatst_gebruikt = array();
foreach($werkdagen as $dag)
{
$data = mysql_fetch_array($result);
if ($data != 0) // als er data uit de query komt
{
echo '<tr>'. "\n\t\t";
echo '<td>';
if ($dag['dagnaam'] == 'Mon')
{
echo 'Maandag' . ' ';
}
elseif ($dag['dagnaam'] == 'Tue')
{
echo 'Dinsdag' . ' ';
}
elseif ($dag['dagnaam'] == 'Wed')
{
echo 'Woensdag' . ' ';
}
elseif ($dag['dagnaam'] == 'Thu')
{
echo 'Donderdag' . ' ';
}
else
{
echo 'Vrijdag' . ' ';
}
echo '</td>'. "\n\t\t";
echo '<td>';
echo $dag['dag']. '-' .$dag['maand']. '-' .$dag['jaar'] . ' ';
echo '</td>'. "\n\t\t";
echo '<td>';
if ($dag['dagnaam'] == 'Mon' AND !in_array($data['id'], $medewerkers_laatst_gebruikt) AND $data['dag']== 'ma' )
{
echo $data['id'] . ' ' .$data['medewerkers.voornaam'] . ' ' . $data['medewerkers.achternaam'];
if(count($medewerkers_laatst_gebruikt) <= 10) // 10 elementen toegestaan + 1 (laatst gebruikte id)
{
$medewerkers_laatst_gebruikt[] = $data['id']; // id gebruikt in linkerkolom opslaan
}
else
{
array_splice($medewerkers_laatst_gebruikt, 0,2); // Bij 11 of meer worden er 2 gesliced, min 9 en max 11.
}
}
?>
// query's
$sql = "SELECT
GROUP_CONCAT(
CONCAT(
medewerkers.voornaam,
' ',
medewerkers.achternaam
)
),
medewerkers.id,
medewerkers.kantoornummer_id,
beschikbaarheid.dag
FROM
medewerkers,
beschikbaarheid
WHERE
medewerkers.id = beschikbaarheid.medewerker_id
GROUP BY
medewerkers.id, beschikbaarheid.dag, medewerkers.voornaam, medewerkers.achternaam, medewerkers.kantoornummer_id
ORDER BY
RAND()";
if(!$result = mysql_query($sql))
{
echo 'Helaas is er een fout opgetreden bij het ophalen van de gegevens';
echo ': ' . mysql_errno() . ':' . mysql_error() . '(<pre>' . $sql . '</pre>)';
}
elseif(mysql_num_rows($result) < 1)
{
echo 'Helaas is er een fout opgetreden bij het ophalen van de gegevens.';
echo 'Het aantal rijen dat opgehaald is '.mysql_num_rows().' terwijl er 1 rij was verwacht. (<pre>' . $sql . '</pre>)';
}
else
{
$titel = 'Avisi Afwasrooster<br/>';
$subtitel = 'Een schoon kopje doet wonderen!<br/>';
echo $titel;
echo $subtitel;
echo '<table class="stats2" cellspacing="0">' . "\n\t";
echo '<tr>' . "\n\t\t" . '<td class="hed" colspan="5">Afwasrooster van ' . $_POST['vandate'] . ' tot ' . $_POST['totdate'] . ' </td>' . "\n\t" . '</tr>' . "\n\t";
//lege variabele voor vergelijk maken
$last_id = '';
$medewerkers_laatst_gebruikt = array();
foreach($werkdagen as $dag)
{
$data = mysql_fetch_array($result);
if ($data != 0) // als er data uit de query komt
{
echo '<tr>'. "\n\t\t";
echo '<td>';
if ($dag['dagnaam'] == 'Mon')
{
echo 'Maandag' . ' ';
}
elseif ($dag['dagnaam'] == 'Tue')
{
echo 'Dinsdag' . ' ';
}
elseif ($dag['dagnaam'] == 'Wed')
{
echo 'Woensdag' . ' ';
}
elseif ($dag['dagnaam'] == 'Thu')
{
echo 'Donderdag' . ' ';
}
else
{
echo 'Vrijdag' . ' ';
}
echo '</td>'. "\n\t\t";
echo '<td>';
echo $dag['dag']. '-' .$dag['maand']. '-' .$dag['jaar'] . ' ';
echo '</td>'. "\n\t\t";
echo '<td>';
if ($dag['dagnaam'] == 'Mon' AND !in_array($data['id'], $medewerkers_laatst_gebruikt) AND $data['dag']== 'ma' )
{
echo $data['id'] . ' ' .$data['medewerkers.voornaam'] . ' ' . $data['medewerkers.achternaam'];
if(count($medewerkers_laatst_gebruikt) <= 10) // 10 elementen toegestaan + 1 (laatst gebruikte id)
{
$medewerkers_laatst_gebruikt[] = $data['id']; // id gebruikt in linkerkolom opslaan
}
else
{
array_splice($medewerkers_laatst_gebruikt, 0,2); // Bij 11 of meer worden er 2 gesliced, min 9 en max 11.
}
}
?>
Voert hij daar wel uit? En zoja krijg je resultaat?
Daarmee komt er alsnog geen data uit de database..
@Kees,
Als ik dat doe krijg ik een lijst van alle medewerkers, maar met de voornaam en achternaam gegroepeerd... ik denk dat dat het probleem is.
Nu mijn vervolg vraag hoe geef ik een gegroepeerde (concat) naam weer? $medewerkers.voornaam, ' ', medewerkers.achternaam oid?
Gewijzigd op 01/01/1970 01:00:00 door Richard Duinmayer
Ik heb het nu zoals hieronder:
Echter één probleempje, er wordt heel vaak niks getoond in de html tabel op het scherm. Terwijl er genoeg medewerkers in de datbase aanwezig zijn om de overige dagen ook op te vullen.
Dinsdag 17-03-2009
Woensdag 18-03-2009
Donderdag 19-03-2009
Vrijdag 20-03-2009
Maandag 23-03-2009
Dinsdag 24-03-2009 101 medewerker a
Woensdag 25-03-2009
Donderdag 26-03-2009
Vrijdag 27-03-2009 100 medewerker b
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
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
<?php
if ($dag['dagnaam'] == 'Mon' AND !in_array($data['id'], $medewerkers_laatst_gebruikt) AND $data['dag']== 'ma' )
{
echo $data['id'] . ' ' .$data['voornaam'] . ' ' . $data['achternaam'];
if(count($medewerkers_laatst_gebruikt) <= 10) // 10 elementen toegestaan + 1 (laatst gebruikte id)
{
$medewerkers_laatst_gebruikt[] = $data['id']; // id gebruikt in linkerkolom opslaan
}
else
{
array_splice($medewerkers_laatst_gebruikt, 0,2); // Bij 11 of meer worden er 2 gesliced, min 9 en max 11.
}
}
elseif ($dag['dagnaam'] == 'Tue' AND !in_array($data['id'], $medewerkers_laatst_gebruikt) AND $data['dag']== 'di' )
{
echo $data['id'] . ' ' .$data['voornaam'] . ' ' . $data['achternaam'];
if(count($medewerkers_laatst_gebruikt) <= 10) // 10 elementen toegestaan + 1 (laatst gebruikte id)
{
$medewerkers_laatst_gebruikt[] = $data['id']; // id gebruikt in linkerkolom opslaan
}
else
{
array_splice($medewerkers_laatst_gebruikt, 0,2); // Bij 11 of meer worden er 2 gesliced, min 9 en max 11.
}
}
elseif ($dag['dagnaam'] == 'Wed' AND !in_array($data['id'], $medewerkers_laatst_gebruikt) AND $data['dag']== 'wo' )
{
echo $data['id'] . ' ' .$data['voornaam'] . ' ' . $data['achternaam'];
if(count($medewerkers_laatst_gebruikt) <= 10) // 10 elementen toegestaan + 1 (laatst gebruikte id)
{
$medewerkers_laatst_gebruikt[] = $data['id']; // id gebruikt in linkerkolom opslaan
}
else
{
array_splice($medewerkers_laatst_gebruikt, 0,2); // Bij 11 of meer worden er 2 gesliced, min 9 en max 11.
}
}
elseif ($dag['dagnaam'] == 'Thu' AND !in_array($data['id'], $medewerkers_laatst_gebruikt) AND $data['dag']== 'do' )
{
echo $data['id'] . ' ' .$data['voornaam'] . ' ' . $data['achternaam'];
if(count($medewerkers_laatst_gebruikt) <= 10) // 10 elementen toegestaan + 1 (laatst gebruikte id)
{
$medewerkers_laatst_gebruikt[] = $data['id']; // id gebruikt in linkerkolom opslaan
}
else
{
array_splice($medewerkers_laatst_gebruikt, 0,2); // Bij 11 of meer worden er 2 gesliced, min 9 en max 11.
}
}
elseif ($dag['dagnaam'] == 'Fri' AND !in_array($data['id'], $medewerkers_laatst_gebruikt) AND $data['dag']== 'vr' )
{
echo $data['id'] . ' ' .$data['voornaam'] . ' ' . $data['achternaam'];
if(count($medewerkers_laatst_gebruikt) <= 10) // 10 elementen toegestaan + 1 (laatst gebruikte id)
{
$medewerkers_laatst_gebruikt[] = $data['id']; // id gebruikt in linkerkolom opslaan
}
else
{
array_splice($medewerkers_laatst_gebruikt, 0,2); // Bij 11 of meer worden er 2 gesliced, min 9 en max 11.
}
}
?>
if ($dag['dagnaam'] == 'Mon' AND !in_array($data['id'], $medewerkers_laatst_gebruikt) AND $data['dag']== 'ma' )
{
echo $data['id'] . ' ' .$data['voornaam'] . ' ' . $data['achternaam'];
if(count($medewerkers_laatst_gebruikt) <= 10) // 10 elementen toegestaan + 1 (laatst gebruikte id)
{
$medewerkers_laatst_gebruikt[] = $data['id']; // id gebruikt in linkerkolom opslaan
}
else
{
array_splice($medewerkers_laatst_gebruikt, 0,2); // Bij 11 of meer worden er 2 gesliced, min 9 en max 11.
}
}
elseif ($dag['dagnaam'] == 'Tue' AND !in_array($data['id'], $medewerkers_laatst_gebruikt) AND $data['dag']== 'di' )
{
echo $data['id'] . ' ' .$data['voornaam'] . ' ' . $data['achternaam'];
if(count($medewerkers_laatst_gebruikt) <= 10) // 10 elementen toegestaan + 1 (laatst gebruikte id)
{
$medewerkers_laatst_gebruikt[] = $data['id']; // id gebruikt in linkerkolom opslaan
}
else
{
array_splice($medewerkers_laatst_gebruikt, 0,2); // Bij 11 of meer worden er 2 gesliced, min 9 en max 11.
}
}
elseif ($dag['dagnaam'] == 'Wed' AND !in_array($data['id'], $medewerkers_laatst_gebruikt) AND $data['dag']== 'wo' )
{
echo $data['id'] . ' ' .$data['voornaam'] . ' ' . $data['achternaam'];
if(count($medewerkers_laatst_gebruikt) <= 10) // 10 elementen toegestaan + 1 (laatst gebruikte id)
{
$medewerkers_laatst_gebruikt[] = $data['id']; // id gebruikt in linkerkolom opslaan
}
else
{
array_splice($medewerkers_laatst_gebruikt, 0,2); // Bij 11 of meer worden er 2 gesliced, min 9 en max 11.
}
}
elseif ($dag['dagnaam'] == 'Thu' AND !in_array($data['id'], $medewerkers_laatst_gebruikt) AND $data['dag']== 'do' )
{
echo $data['id'] . ' ' .$data['voornaam'] . ' ' . $data['achternaam'];
if(count($medewerkers_laatst_gebruikt) <= 10) // 10 elementen toegestaan + 1 (laatst gebruikte id)
{
$medewerkers_laatst_gebruikt[] = $data['id']; // id gebruikt in linkerkolom opslaan
}
else
{
array_splice($medewerkers_laatst_gebruikt, 0,2); // Bij 11 of meer worden er 2 gesliced, min 9 en max 11.
}
}
elseif ($dag['dagnaam'] == 'Fri' AND !in_array($data['id'], $medewerkers_laatst_gebruikt) AND $data['dag']== 'vr' )
{
echo $data['id'] . ' ' .$data['voornaam'] . ' ' . $data['achternaam'];
if(count($medewerkers_laatst_gebruikt) <= 10) // 10 elementen toegestaan + 1 (laatst gebruikte id)
{
$medewerkers_laatst_gebruikt[] = $data['id']; // id gebruikt in linkerkolom opslaan
}
else
{
array_splice($medewerkers_laatst_gebruikt, 0,2); // Bij 11 of meer worden er 2 gesliced, min 9 en max 11.
}
}
?>
GROUP_CONCAT(
CONCAT(
medewerkers.voornaam,
' ',
medewerkers.achternaam
)
) as naam,
medewerkers.id,
medewerkers.kantoornummer_id,
beschikbaarheid.dag
FROM
medewerkers,
beschikbaarheid
nu kun $data['naam'] gebruiken
Wat Mr. Kasper bedoelt, een switch zou je code een stuk overzichtelijker en korter maken :)
Quote:
Allereerst, mooi dat je me mr. noemt! >:) Wat Mr. Kasper bedoelt, een switch zou je code een stuk overzichtelijker en korter maken :)
Maar ik bedoelde inderdaad dat het gebruik van een switch je code overzichtelijker en korter maakt. Nu moest ik me onderhand een RSI-vinger scrollen om al je code te lezen. :)