Avatar billede fancy Mester
05. august 2012 - 21:39 Der er 3 kommentarer og
1 løsning

vis data som grafik

Jeg hved godt jeg har stillet dette spørgsmål før hvor Christian_Belgien
har prøvet at hjælpe.
jeg er nu kommet lidt vidre i min søgning af at vise nogle data grafisk
men kan stadig ikke få noget brugbart ud af det.
Jeg vil gerne kunne vise hvornår en medarbejder er på vagt i et skema

ca sådan
 

          06:00 07:00 08:00.......osv
navn

navn 1    xxx
navn 2    xxx
navn 3          xxx





Jeg har denne kode her for at finde hvor mange timer medarbejderen er på vagt, men kan så ikke finde ud af at sætte det grafisk op.


hvor afra er møde tidspunkt og atil er vagt stop.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
body {
    background-color: #99FFFF;
}
-->
</style>
<center><img src="top.jpg" width="800" height="130" /
</head>
<?php

include("connect.php");


function hours_diff($time1, $time2)
{
        $hour1 = explode(":", $time1);
        $hour2 = explode(":", $time2);

        if($hour1[0] > $hour2[0]) $hour2[0] = $hour2[0] + 24;
        $tid = ($hour2[0] - $hour1[0]) * 60 + $hour2[1] - $hour1[1];
        return $tid/60;
}



$query_rstnavn = "SELECT tid, tnavn, forening, atil, afra FROM vagt_tilmdb
WHERE tid !=0 AND forening='DCH' ORDER BY adag,tnavn"; $rstnavn = mysql_query($query_rstnavn)
  or die(mysql_error());

$temtnavn = "";
$antalTimer = 0;

while($row_rstnavn = mysql_fetch_array($rstnavn)) {

    if($temptnavn == "") { //første gang
        $temptnavn = $row_rstnavn['tnavn'];
    }
    else if($temptnavn
   
    != $row_rstnavn['tnavn']) { //der er fundet en ny medarbejder
      echo "<br> <center>";
        echo $temptnavn;
        echo "<br>";
        echo " Antal timer: ";
        echo $antalTimer;
        echo "<br><br>";
        $temptnavn = $row_rstnavn['tnavn'];
        $antalTimer = 0;
    }

    //tæl antal timer for medarbejder.
    $antalTimer = $antalTimer +
hours_diff($row_rstnavn['afra'],$row_rstnavn['atil']);
}



?>

   
<body>
</body>
</html>
Avatar billede limemedia Nybegynder
08. august 2012 - 18:32 #1
Hvis din database er bygget op som

medarbejder_id, aar, maaned, dag, kl00, kl01, kl02 ~ kl23

vil det være meget hurtigere at generere  det output du vil baseret på dag

eller hvis det ikke er fleksible tider, kan du fjerne dag, maaned eller aar efter behov
Avatar billede fancy Mester
08. august 2012 - 20:58 #2
øhh ikke forstået
Avatar billede fancy Mester
09. august 2012 - 23:00 #3
Jeg har nu forsøgt at skrive det om men det driller stadig
jeg kan ikke se hvordan jeg for den til at fortsætte så den fx kun sætter kryds fra 06-10 hvis vagten lyder sådan

<?php


include 'connect.php';

$dag = $_GET['dag'];

echo $dag;

$result = mysql_query("SELECT vagt_arrdb_old.adag, vagt_arrdb_old.dato ,
vagt_arrdb_old.atil, vagt_arrdb_old.afra, vagt_arrdb_old.anavn, vagt_arrdb_old.atildelt,
  vagt_tilmdb_old.* FROM vagt_arrdb_old JOIN vagt_tilmdb_old ON
  vagt_arrdb_old.aid = vagt_tilmdb_old.arrid WHERE vagt_arrdb_old.atildelt =
    'VU' AND vagt_tilmdb_old.adag = '".$dag."' ORDER BY dato,vagt_arrdb_old.afra ")

or die(mysql_error());


echo '<form id="form1" name="form1" method="post" action="tilm_list.php?aid='.$aid.'">
<tr bgcolor="#FFFF00"><table width="1000" border="1" cellpadding="0" cellspacing="0"><br><a href="../login.php">Hoved menu</a><br><br>
  <tr>
    <td width="5">Navn</td>
    <td>06:00</td>
    <td>07:00</td>
    <td>08:00</td>
    <td>09:00</td>
<td>10:00</td>
        <td>11:00</td>
        <td>12:00</td>
          <td>13:00</td>
        <td>14:00</td>
          <td>15:00</td>
          <td>16:00</td>
          <td>17:00</td>
          <td>18:00</td>
          <td>19:00</td>
       
         
   
  </tr>';
while($row = mysql_fetch_array( $result )) {
$tid = $row['tid'];
$navn = $row['tnavn'];
$adr = $row['tadr'];
$by = $row['tby'];
$pnr = $row['tpnr'];
$mail = $row['tmail'];
$anavn = $row['anavn'];
$dato = $row['dato'];
$afra = $row['afra'];
$ttel = $row['ttel'];
$numv = $row['numv'];
$numb = $row['numb'];
$adag = $row['adag'];
$atil = $row['atil'];
$atildelt = $row['atildelt'];
//$forening = $row['forening'];
$sent_mail = $row['sent_mail'];
$accept = $row['accept'];
$arrid = $row['arrid'];
$overf = $row['overf'];

$fra = explode(":", $afra);
$til = explode(":", $atil);

  echo '<tr>';
      if($atildelt == "VU") {
    echo '<td width="170">'.$navn.'</td>';
    } else {
        echo "";
       
    }
   
    if($fra[0] <= 06 && $til[0] > 6 ) {
    echo '<td>XXXXX</td>';
    } else {
        echo "<td></td>";
           

   
       
        /*echo $afra."<br>";
        echo "<b>".$tiderne[0].":".$tiderne[1]."</b><br>";*/
         
}}
  echo '</tr>';
?>


</body>
</html>
<?php
Avatar billede fancy Mester
16. august 2012 - 20:04 #4
øv
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester