Gegevens uit database op 1 rij ipv meerdere
Ik zou graag de aanwezigheid in de vorm van ma,di,wo,do willen weergeven.
Hoe kan ik dat het beste doen?
Het wordt nu zo weergegeven:
medewerker a ma
medewerker a di
medewerker b ma
medewerker b di
medewerker b wo
medewerker b do
medewerker b vr
Het moet zo weergegeven worden:
medewerker a ma,di
medewerker b ma,di,wo,do,vr
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
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
<?php
$sql = "
SELECT m.id
, m.voornaam
, m.achternaam
, k.kantoornummer
, b.dag
FROM medewerkers m
INNER JOIN kantoorruimte k
ON m.kantoornummer_id = k.id
INNER JOIN beschikbaarheid b
ON b.medewerker_id=m.id
ORDER BY m.achternaam, m.voornaam, k.kantoornummer DESC";
$totaal = ceil(mysql_num_rows(mysql_query("SELECT * FROM medewerkers")));
if ($result = mysql_query($sql))
{
echo '<table class="stats3" cellspacing="0">' . "\n\t";
echo '<tr>' . "\n\t\t" . '<td class="hed" colspan="6">Lijst met alle (' . $totaal . ') medewerkers</td>' . "\n\t" . '</tr>' . "\n";
while ($row = mysql_fetch_assoc($result))
{
$display = $row;
unset($display['id']);
echo "\t" . '<tr>' . "\n\t\t";
echo '<td>' . $display['voornaam'] . '</td>' . "\n\t\t";
echo '<td>' . $display['achternaam'] . '</td>' . "\n\t\t";
echo '<td>' . $display['kantoornummer'] . '</td>' . "\n\t\t";
echo '<td>' . $display['dag'] . '</td>' . "\n\t\t";
echo '<td><a class="button" href="?cmd=edit&id=' . $row['id'] . '"><span>Wijzig</span></a></td>' . "\n\t\t";
echo '<td><a class="button" href="?cmd=delete&id=' . $row['id'] . '" onclick="return confirm(\'Weet u zeker dat u deze medewerker wilt verwijderen?\')"><span>Verwijder</span></a></td>' . "\n\t";
echo '</tr>' . "\n";
// als je het id nodig hebt in de url dan kan je $row['id'] gebruiken
// dus $row is zoals het is opgeslagen in de database tabel
// en $display gebruik je dan voor zoals je het wilt tonen
}
echo '</table>';
?>
$sql = "
SELECT m.id
, m.voornaam
, m.achternaam
, k.kantoornummer
, b.dag
FROM medewerkers m
INNER JOIN kantoorruimte k
ON m.kantoornummer_id = k.id
INNER JOIN beschikbaarheid b
ON b.medewerker_id=m.id
ORDER BY m.achternaam, m.voornaam, k.kantoornummer DESC";
$totaal = ceil(mysql_num_rows(mysql_query("SELECT * FROM medewerkers")));
if ($result = mysql_query($sql))
{
echo '<table class="stats3" cellspacing="0">' . "\n\t";
echo '<tr>' . "\n\t\t" . '<td class="hed" colspan="6">Lijst met alle (' . $totaal . ') medewerkers</td>' . "\n\t" . '</tr>' . "\n";
while ($row = mysql_fetch_assoc($result))
{
$display = $row;
unset($display['id']);
echo "\t" . '<tr>' . "\n\t\t";
echo '<td>' . $display['voornaam'] . '</td>' . "\n\t\t";
echo '<td>' . $display['achternaam'] . '</td>' . "\n\t\t";
echo '<td>' . $display['kantoornummer'] . '</td>' . "\n\t\t";
echo '<td>' . $display['dag'] . '</td>' . "\n\t\t";
echo '<td><a class="button" href="?cmd=edit&id=' . $row['id'] . '"><span>Wijzig</span></a></td>' . "\n\t\t";
echo '<td><a class="button" href="?cmd=delete&id=' . $row['id'] . '" onclick="return confirm(\'Weet u zeker dat u deze medewerker wilt verwijderen?\')"><span>Verwijder</span></a></td>' . "\n\t";
echo '</tr>' . "\n";
// als je het id nodig hebt in de url dan kan je $row['id'] gebruiken
// dus $row is zoals het is opgeslagen in de database tabel
// en $display gebruik je dan voor zoals je het wilt tonen
}
echo '</table>';
?>
Je zult in de while nog een loop moeten doen om te kijken of de naam al is weergegeven.
foreach $display['dag'] as $key{
echo $display['dag'];
}
Edit: aanvullend probleempje met bovenstaande code:
als er bij $display['dag'] niks weer te geven valt verschijnt de complete medewerker niet in de lijst. Weet iemand hier iets voor?
Gewijzigd op 01/01/1970 01:00:00 door Richard Duinmayer