PHP / SQL vraag...

Status
Niet open voor verdere reacties.

bartwwe

Gebruiker
Lid geworden
16 jul 2008
Berichten
20
Beste mensen,

Ik hoop dat jullie mij kunnen helpen.....

Ik heb een database met gegevens. Deze gegevens wil ik via een php script op het beeld laten weergeven.

Ik wil het eigenlijk zo hebben, als in de bijlage "voorbeeld.jpg".

De code is als volgt:

<?php
include "connect.php";
echo "<title>Uren overzicht</title>";
$username = $_GET['username'];
$query1 = "SELECT * FROM uren where username = '$username'";

echo "Dit is het overzicht van '$username'<br><br>";

$sql1 = mysql_query($query1) or die ( mysql_error( ) );

echo "<table border='0' width='50%' align='center'>";

while($record = mysql_fetch_object($sql1))
{
echo "<tr><td>Weeknummer = $record->weeknr</td></tr>";
{
echo "<tr><td>'$record->dag'</td><td>'$record->project'</td><td>'$record->bewcode'</td><td>'$record->uren'</td></tr>";
}
}
echo "</table>";
?>

Nu krijg ik een heel ander overzicht. Dit is bijlage "verkeerd.jpg". De dagen moeten als groep onder een week gezet worden, dus niet apart.
 

Bijlagen

  • voorbeeld.jpg
    voorbeeld.jpg
    51,3 KB · Weergaven: 48
  • verkeerd.JPG
    verkeerd.JPG
    49,3 KB · Weergaven: 35
Beste mensen,

Ik hoop dat jullie mij kunnen helpen.....

Ik heb een database met gegevens. Deze gegevens wil ik via een php script op het beeld laten weergeven.

Ik wil het eigenlijk zo hebben, als in de bijlage "voorbeeld.jpg".

De code is als volgt:
PHP:
<?php
include "connect.php";
echo "<title>Uren overzicht</title>";
$username 	=	$_GET['username'];
$query1 = "SELECT * FROM uren where username = '$username'";

echo "Dit is het overzicht van '$username'<br><br>";

$sql1 = mysql_query($query1) or die ( mysql_error( ) );

echo "<table border='0' width='50%' align='center'>";

while($record = mysql_fetch_object($sql1))
     {
echo "<tr><td>Weeknummer = $record->weeknr</td></tr>";
          {
echo "<tr><td>'$record->dag'</td><td>'$record->project'</td><td>'$record->bewcode'</td><td>'$record->uren'</td></tr>";
          }
     }
echo "</table>";
?>

Nu krijg ik een heel ander overzicht. Dit is bijlage "verkeerd.jpg". De dagen moeten als groep onder een week gezet worden, dus niet apart.


Vrij simpel op te lossen. Je slaat tijdelijk op welke weeknummer het is ( in de while lus). De volgende keer dat hij de lus volgt controleert hij het weeknummer opnieuw. Als deze overeenkomt met de vorige, hoeft hij niet opnieuw een <tr> te maken met een week nummer. Dus alsvolgt:

PHP:
<?php
include "connect.php";
echo "<title>Uren overzicht</title>";
$username 	=	$_GET['username'];
$query1 = "SELECT * FROM uren where username = '$username'";

echo "Dit is het overzicht van '$username'<br><br>";

$sql1 = mysql_query($query1) or die ( mysql_error( ) );

echo "<table border='0' width='50%' align='center'>";

$weeknummer = "";
while($record = mysql_fetch_object($sql1))
     {

      if($weeknummer != $record->weeknr)
       {
         echo "<tr><td>Weeknummer = $record->weeknr</td></tr>"; 
       }
        $weeknummer = $record->weeknr;

echo "<tr><td>'$record->dag'</td><td>'$record->project'</td><td>'$record->bewcode'</td><td>'$record->uren'</td></tr>";
     }
echo "</table>";
?>

Niet gecontroleerd, maar dit zou moeten werken.
 
Dankje wel! Het werkt perfect ;)

Nu heb ik nog een vraagje:

Hoe kan ik de dagen sorteren, bijvoorbeeld:

maandag
dinsdag
woensdag
donderdag
vrijdag
zaterdag
zondag

ze staan nu op volgorde van het alfabet.
 
Laatst bewerkt:
Dankje wel! Het werkt perfect ;)

Nu heb ik nog een vraagje:

Hoe kan ik de dagen sorteren, bijvoorbeeld:

maandag
dinsdag
woensdag
donderdag
vrijdag
zaterdag
zondag

ze staan nu op volgorde van het alfabet.

Je zou in plaats van een dag-naam, een dag-nummer kunnen opgeven.. dus 0 t/m 6 voor zondag t/m maandag.

dan kan je je bij je sql query toevoegen: ORDER BY weeknummer,dagnummer ASC.

Vervolgens moet je dan in je script het cijfer omzetten naar een dagnaam.. (misschien via een array).
 
Je zou in plaats van een dag-naam, een dag-nummer kunnen opgeven.. dus 0 t/m 6 voor zondag t/m maandag.

dan kan je je bij je sql query toevoegen: ORDER BY weeknummer,dagnummer ASC.

Vervolgens moet je dan in je script het cijfer omzetten naar een dagnaam.. (misschien via een array).

ow ja dat zou ook kunnen, thnx!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan