Gegevens uit database op 1 rij ipv meerdere

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Richard Duinmayer

Richard Duinmayer

16/03/2009 11:34:00
Quote Anchor link
In onderstaande stukje code wordt een tabel gemaakt die een aantal personen weergeeft. Op dit moment worden personen dubbel weergegeven omdat ze bijvoorbeeld op meerdere dagen aanwezig zijn.

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>';

?>
 
PHP hulp

PHP hulp

22/12/2024 09:13:55
 
Jurgen assaasas

Jurgen assaasas

16/03/2009 11:56:00
Quote Anchor link
Je zult in de while nog een loop moeten doen om te kijken of de naam al is weergegeven.
 
Richard Duinmayer

Richard Duinmayer

16/03/2009 12:24:00
Quote Anchor link
Zoiets?

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
 
Richard Duinmayer

Richard Duinmayer

16/03/2009 21:22:00
Quote Anchor link
Iemand?

Gelieve Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door Richard Duinmayer
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.