[PHP+MSSQL] output naar tabel

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sjef dresen

sjef dresen

17/05/2016 08:14:06
Quote Anchor link
Beste allemaal,

Het is me eindelijk gelukt om met PHP een MSSQL database te benaderen.
Met een simpele query haal ik alle tijdstippen van één dag op waarin mensen dingen gepland hebben.
Met wat HTML code zou je hier wel iets moois van kunnen maken. (is ook redelijk gelukt).
Wat echter nog niet gelukt is -en vandaar ook dit topic- is dat ik graag in de tabel in alle rijen ALLE uren wil weergeven, en vervolgens alleen data neerzetten in de uren waar ook data van is.

Dus een beetje als volgt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
09:00 | koffie drinken | Maria
10:00 |                |
11:00 |                |
12:00 | tennis         | Frank
13:00 |                |
14:00 | winkelen       | Iris + Kees
15:00 |                |


Ik gebruik dit om door de data te loopen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
        while( $obj = sqlsrv_fetch_object( $result )) {
          echo $obj->TimeBegin;
          echo $obj->Wat;
          echo $obj->Naam.' <br>';
        }

?>


Hoe kan ik dit het beste aanpakken? Ik wil dus ook die lege regels zodat er een duidelijker overzicht ontstaat.

Alvast bedankt,

Sjef


Edit:
Script tussen code-tags gezet voor betere leesbaarheid. Gelieve dit voortaan zelf te doen. Zie ook het tags-overzicht in de 'Veelgestelde Vragen' van de site.
Gewijzigd op 17/05/2016 11:55:43 door - Ariën -
 
PHP hulp

PHP hulp

21/11/2024 22:32:04
 
Sjef dresen

sjef dresen

24/05/2016 14:44:01
Quote Anchor link
Helemaal niemand? :(
 
Adoptive Solution

Adoptive Solution

24/05/2016 18:27:39
Quote Anchor link
Voor de gelegenheid maar even aangemeld.

Hieronder mijn oplossing.

In de database wordt "tijd" opgeslagen als 00:00:00.

Voor de volledigheid worden ook de connect en query statements getoond.

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
<table border=1>

<?php

$db
= new MySQLi('localhost', 'username', 'password', 'database');

$querySelect = "SELECT * FROM afspraken ORDER BY tijd ASC, naam ASC";

$result = $db->query( $querySelect );

$hourBegin = 6;
$hourEnd = 20;

while ( $row = $result->fetch_assoc() ) {

    while ($hourBegin < (int)$row['tijd']) {
        echo '<tr><td>' . ($hourBegin < 10 ? '0' : '') . $hourBegin . ':00</td><td colspan=2></td></tr>';
        $hourBegin = $hourBegin + 1;
    }


    echo '<tr>';
    echo '<td>' . substr($row['tijd'], 0, 5) . '</td>';
    echo '<td>' . $row['naam'] . '</td>';
    echo '<td>' . $row['wat'] . '</td';
    echo '</tr>';

    $hourBegin = (int)$row['tijd'] + 1;

}


while ( $hourEnd >= $hourBegin ) {
    echo '<tr><td>' . ($hourBegin < 10 ? '0' : '') . $hourBegin . ':00</td><td colspan=2></td></tr>';
    $hourBegin = $hourBegin + 1;
}


?>


</table>
Gewijzigd op 24/05/2016 18:28:05 door Adoptive Solution
 
Adoptive Solution

Adoptive Solution

25/05/2016 21:22:45
Quote Anchor link
Voor de nieuwsgierigen, hier het resultaat :

Met opmaak : http://adoptive.esy.es/afspraken/
Zonder opmaak : http://adoptive.esy.es/afspraken/afspraak.php
En met sql : http://adoptive.esy.es/afspraken/afspraak.txt
 
Sjef dresen

sjef dresen

25/05/2016 21:37:23
Quote Anchor link
Hartelijk dank voor je reactie en de mooie code.

Ik kom er alleen (na wat proberen :)) achter dat het niet werkt omdat ik MSSQL gebruik, en jij volgens mij MySQL...

Krijg keer op keer foutmeldingen.

Met vr gr,

Sjef
 
- Ariën  -
Beheerder

- Ariën -

25/05/2016 21:45:16
Quote Anchor link
Klopt, je zult wel de functies moeten vertalen. Ik ken Mssql niet zo, maar ik denk dat de vertaal slag niet zo heel complex zult zijn.
 
Adoptive Solution

Adoptive Solution

25/05/2016 21:45:33
Quote Anchor link
Dan aanpassen voor mssql.

Uiteindelijk gaat het om de twee while's die de legen uren genereren.
Gewijzigd op 25/05/2016 21:46:05 door Adoptive Solution
 



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.