Avatar billede kimox Nybegynder
06. december 2006 - 10:20 Der er 14 kommentarer og
1 løsning

Hjælp til administrator system

(Denne er flyttet fra http://www.eksperten.dk/spm/749098 til programmeringsopgaver pga opfordring fra codedk - tak for hjælpen).

Hej eksperter

Jeg er igang med at få hjælp af Henninghabor med checkboxe, men han har også sagt han vil hjælpe med at få administrator systemet op at køre til disse checkboxe, og da det andet spørgsmål ikke indebær hjælp til administrator system så åbner jeg nyt spørgsmål med dette.

Det andet spørgsmål kan findes her: http://www.eksperten.dk/spm/748743

Administrator systemet skal kunne fungere på den måde at administratorene skal kunne se hvilke dage medarbejderen har valgt at arbejde på, og så skal der være mulighed for at adminen kan kunne redigere i denne vagtplan som de indsender.

Og så vil jeg lige hurtigt finde ud af om den skal slette ugen når ugen er overstået, eller om det skal gemmes så admins kan gå tilbage i systemet og se hvilken dage de var aktive.

Indtil videre tusind tak for hjælpen.
Avatar billede henninghabor Nybegynder
06. december 2006 - 21:36 #1
Hej kimox,

Jeg laver videre på det torsdag - Der er fodbold i fjerneren i aften og det er sq lidt vigtigere. He he.
Avatar billede kimox Nybegynder
06. december 2006 - 21:42 #2
Helt sikkert :D.. ligger selv og ser det haha :D
Avatar billede henninghabor Nybegynder
07. december 2006 - 14:11 #3
Hej kimox,

Vi skal lige ha' planlagt hvordan siden skal se ud:

1. Er medarbejderne logget ind via en side, du allerede har lavet?
2. Har du lavet databasen, hvor medarbejdernes vagter gemmes?
3. Har du lavet databasen med medarbejdere?
4. Skal administrator også hentes fra en database?
5. Skal administrator logge ind via samme side som medarbejderne?
6. Skal vagtplan sendes til medarbejderen, når denne har indtastet eller på en bestemt dag?

Det vil nok gøre det en del lettere for os, hvis vi evt. snakker via messenger: henning@vhh.dk
Avatar billede kimox Nybegynder
07. december 2006 - 21:59 #4
Hej, jeg har tilføjet dig - har været til fødselsdag hele dagen. :)

1: Ja de logger ind på en side :) og for at se forskel på dem der skal vi bruge $_SESSION['cprnr'];

2: Ja men ikke noget som kan bruges til dette, så den skal laves om :)

3: Ja medarbejderne ligger i en db der hedder "vlog" og ser sådan ud:
`id`
`cprnr`
`password`
`admin` - bruges ikke rigtigt.
`navn`
`email`
`bynavn`
`postnr`
`adr`
`telef`
`mobil`
`alder`
`slogg`
`aktiv`

4-5: Admins logger på en anden side, men de hentes fra samme db, men tabellen hedder "admin_log".

6: Ja den må gerne kunne sendes men ikke noget fanci html i mailen, bare rent tekst.


Jeg laver sådan så man først søger på deres cpr-nr som admin og så får man deres id og det bliver så sendt videre til den side hvor adminen har mulighed for at se ugerne og så trykke på en knap hvor de så kommer videre til en side hvor admins har mulighed for at ændre i planen :) - men ligeledes skal der laves så medarbejdere selv kan ændre i deres uger, men det laver jeg bare selv hvis vi kan få det med admin til at køre :)
Avatar billede kimox Nybegynder
09. december 2006 - 12:32 #5
Hej, er du startet? - Det lidt svært at snakke over msn når du ikke er på haha :)
Avatar billede henninghabor Nybegynder
09. december 2006 - 14:22 #6
Hej,

Her er tabellen shifts som du kan indsætte:

CREATE TABLE `shifts` (
  `id` int(11) NOT NULL auto_increment,
  `inserted` datetime NOT NULL,
  `employee` varchar(11) NOT NULL,
  `shift` datetime NOT NULL,
  PRIMARY KEY  (`id`)
);

Og her er den ændrede side:

<?php
// Session startes
session_start();

// Forbindelsen til databasen åbnes
$db = mysql_connect("localhost", "defigo_dk", "jKSy72nd") or die(mysql_error());

// Databasen vælges
mysql_select_db("defigo_dk") or die("Kunne ikke v&aelig;lge database");

if($_POST["send"])
{
    // Medarbejderens cprnr hentes
    $employee = $_SESSION["cprnr"];

    // Medarbejderens indtastninger hentes
    $shift = $_POST["shift"];

    for($x = 0; $x < sizeof($shift); $x++)
    {
        // Array med patterns
        $patterns = Array("/\\_MO/", "/\\_MI/", "/\\_AF/");

        // Array med replacements
        $replacements = Array(" 06:00:00", " 12:00:00", " 18:00:00");

        // Denne indtastning skrives om til et tidspunkt
        $this_shift = preg_replace($patterns, $replacements, $shift["$x"]);

        // Medarbejderens vagter føjes til tabellen 'shifts'
        mysql_query("INSERT INTO shifts (inserted, employee, shift) VALUES (now(), '" . $employee . "', '" . $this_shift . "')") or die(mysql_error());
    }
}

function dow()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $dow;

    $print .= ($x == 0) ? "<tr style=\"background: #CCC;\"><td style=\"font-weight: bold;\">Uge nr.</td>" : "";
    $print .= "<td colspan=\"3\" style=\"font-weight: bold;\">" . $dow["$x"] . "dag</td>";
    $print .= ($x == 6) ? "</tr>\n" : "";

    return $print;
}

function shift()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $dow;

    $print .= ($x == 0) ? "<tr style=\"background: #CCC;\"><td style=\"font-weight: bold;\">-</td>" : "";
    $print .= "<td>MO</td>";
    $print .= "<td>MI</td>";
    $print .= "<td>AF</td>";
    $print .= ($x == 6) ? "</tr>\n" : "";

    return $print;
}

function formCB()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $month;
    global $year;

    // Denne dato
    $date = date("Y.m.d", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Denne dato på dansk
    $danish = date("d.m.Y", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Nummeret på ugen
    $now = date("W", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Nummeret på dagen i ugen
    $nowd = date("w", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Er dagen søndag, ændres nummeret på dagen i ugen
    if($nowd == 0)
    {
        $nowd = 7;
    }

    $print .= ($x == 0 || $nowd == 1) ? "<tr><td style=\"background: #CCC; font-weight: bold;\">" . $now . "</td>" : "";

    // Tomme felter
    if($x == 0)
    {
        for($y = 1; $y < $nowd; $y++)
        {
            // Baggrundsfarve
            $bg  = $y % 2 ? "FFF" : "CCC";

            $print .= "<td colspan=\"3\" style=\"background: #" . $bg . ";\">&nbsp;</td>";
        }
    }

    // Baggrundsfarve
    $bg  = $nowd % 2 ? "FFF" : "CCC";

    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_MO\" title=\"" . $danish . " MORGEN\"></td>";
    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_MI\" title=\"" . $danish . " MIDDAG\"></td>";
    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_AF\" title=\"" . $danish . " AFTEN\"></td>";
    $print .= ($nowd == 7) ? "</tr>\n" : "";

    return $print;
}

// Denne måned
$month = date("m");

// Dette år
$year = date("Y");

// Ugens dage
$dow = Array("Man", "Tirs", "Ons", "Tors", "Fre", "L&oslash;r", "S&oslash;n");

// HTML koder startes
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n";
echo "<html>\n";
echo "<head>\n";
echo "<title>Eksperten - Arbejdstider</title>\n";
echo "<style type=\"text/css\">\n";
echo "td\n";
echo "{\n";
echo "  text-align: center;\n";
echo "}\n";
echo "</style>\n";
echo "</head>\n";
echo "<body>\n";
echo "<form action=\"" . $_SERVER["PHP_SELF"] . "\" method=\"post\">\n";
echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"2\">\n";

for($x = 0; $x < sizeof($dow); $x++)
{
    echo dow();
}

for($x = 0; $x < sizeof($dow); $x++)
{
    echo shift();
}

for($x = 0; $x <= (35 - date("w")); $x++)
{
    echo formCB();
}

// Knapper skrives og HTML koder afsluttes
echo "<tr><td colspan=\"22\"><input name=\"send\" type=\"submit\" id=\"send\" class=\"ok_input\" value=\"Send arbejdstider\">\n";
echo "<input name=\"reset\" type=\"reset\" id=\"reset\" class=\"ok_input\" value=\"Fjern alle markeringer\"></td></tr>\n";
echo "</table>\n";
echo "</form>\n";

echo $output;

echo "</body>\n";
echo "</html>";
?>
Avatar billede henninghabor Nybegynder
09. december 2006 - 14:26 #7
Og jeg ændrer da lige kodeord til min database... *SUK*
Avatar billede henninghabor Nybegynder
09. december 2006 - 14:45 #8
<?php
// Session startes
session_start();

// Forbindelsen til databasen åbnes
$db = mysql_connect("localhost", "XXXX", "Kodeord") or die(mysql_error());

// Databasen vælges
mysql_select_db("defigo_dk") or die("Kunne ikke v&aelig;lge database");

if($_POST["send"])
{
    // Medarbejderens cprnr hentes
    $employee = $_SESSION["cprnr"];

    // Medarbejderens indtastninger hentes
    $shift = $_POST["shift"];

    for($x = 0; $x < sizeof($shift); $x++)
    {
        // Array med patterns
        $patterns = Array("/\\_MO/", "/\\_MI/", "/\\_AF/");

        // Array med replacements
        $replacements = Array(" 06:00:00", " 12:00:00", " 18:00:00");

        // Denne indtastning skrives om til et tidspunkt
        $this_shift = preg_replace($patterns, $replacements, $shift["$x"]);

        $shifts[] = $this_shift;

        // Medarbejderens vagter føjes til tabellen 'shifts'
        mysql_query("INSERT INTO shifts (inserted, employee, shift) VALUES (now(), '" . $employee . "', '" . $this_shift . "')") or die(mysql_error());
    }

    $query = mysql_query("SELECT navn, email FROM vlog WHERE cprnr = '" . $employee . "'") or die(mysql_error());

    if(mysql_num_rows($query) > 0)
    {
        while($row = mysql_fetch_assoc($query))
        {
            // Indhold på email
            $message .= $row["navn"] . ", " . $employee . " har registreret sin ugeplan:\n\n";

            for($x = 0; $x < sizeof($shifts); $x++)
            {
                $message .= $shifts["$x"] . "\n";
            }

            // Email sendes
            mail("post@side.dk, " . $row["email"], "Registrering af ugeplan", $message);
        }
    }

    mysql_free_result($query);
}

function dow()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $dow;

    $print .= ($x == 0) ? "<tr style=\"background: #CCC;\"><td style=\"font-weight: bold;\">Uge nr.</td>" : "";
    $print .= "<td colspan=\"3\" style=\"font-weight: bold;\">" . $dow["$x"] . "dag</td>";
    $print .= ($x == 6) ? "</tr>\n" : "";

    return $print;
}

function shift()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $dow;

    $print .= ($x == 0) ? "<tr style=\"background: #CCC;\"><td style=\"font-weight: bold;\">-</td>" : "";
    $print .= "<td>MO</td>";
    $print .= "<td>MI</td>";
    $print .= "<td>AF</td>";
    $print .= ($x == 6) ? "</tr>\n" : "";

    return $print;
}

function formCB()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $month;
    global $year;

    // Denne dato
    $date = date("Y.m.d", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Denne dato på dansk
    $danish = date("d.m.Y", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Nummeret på ugen
    $now = date("W", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Nummeret på dagen i ugen
    $nowd = date("w", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Er dagen søndag, ændres nummeret på dagen i ugen
    if($nowd == 0)
    {
        $nowd = 7;
    }

    $print .= ($x == 0 || $nowd == 1) ? "<tr><td style=\"background: #CCC; font-weight: bold;\">" . $now . "</td>" : "";

    // Tomme felter
    if($x == 0)
    {
        for($y = 1; $y < $nowd; $y++)
        {
            // Baggrundsfarve
            $bg  = $y % 2 ? "FFF" : "CCC";

            $print .= "<td colspan=\"3\" style=\"background: #" . $bg . ";\">&nbsp;</td>";
        }
    }

    // Baggrundsfarve
    $bg  = $nowd % 2 ? "FFF" : "CCC";

    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_MO\" title=\"" . $danish . " MORGEN\"></td>";
    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_MI\" title=\"" . $danish . " MIDDAG\"></td>";
    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_AF\" title=\"" . $danish . " AFTEN\"></td>";
    $print .= ($nowd == 7) ? "</tr>\n" : "";

    return $print;
}

// Denne måned
$month = date("m");

// Dette år
$year = date("Y");

// Ugens dage
$dow = Array("Man", "Tirs", "Ons", "Tors", "Fre", "L&oslash;r", "S&oslash;n");

// HTML koder startes
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n";
echo "<html>\n";
echo "<head>\n";
echo "<title>Eksperten - Arbejdstider</title>\n";
echo "<style type=\"text/css\">\n";
echo "td\n";
echo "{\n";
echo "  text-align: center;\n";
echo "}\n";
echo "</style>\n";
echo "</head>\n";
echo "<body>\n";
echo "<form action=\"" . $_SERVER["PHP_SELF"] . "\" method=\"post\">\n";
echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"2\">\n";

for($x = 0; $x < sizeof($dow); $x++)
{
    echo dow();
}

for($x = 0; $x < sizeof($dow); $x++)
{
    echo shift();
}

for($x = 0; $x <= (35 - date("w")); $x++)
{
    echo formCB();
}

// Knapper skrives og HTML koder afsluttes
echo "<tr><td colspan=\"22\"><input name=\"send\" type=\"submit\" id=\"send\" class=\"ok_input\" value=\"Send arbejdstider\">\n";
echo "<input name=\"reset\" type=\"reset\" id=\"reset\" class=\"ok_input\" value=\"Fjern alle markeringer\"></td></tr>\n";
echo "</table>\n";
echo "</form>\n";

echo $output;

echo "</body>\n";
echo "</html>";
?>
Avatar billede henninghabor Nybegynder
09. december 2006 - 14:52 #9
<?php
// Session startes
session_start();

// Forbindelsen til databasen åbnes
$db = mysql_connect("localhost", "xxx", "xxx") or die(mysql_error());

// Databasen vælges
mysql_select_db("defigo_dk") or die("Kunne ikke v&aelig;lge database");

if($_POST["send"])
{
    // Medarbejderens cprnr hentes
    $employee = $_SESSION["cprnr"];

    // Medarbejderens indtastninger hentes
    $shift = $_POST["shift"];

    for($x = 0; $x < sizeof($shift); $x++)
    {
        // Array med patterns
        $patterns = Array("/\\_D/", "/\\_AF/", "/\\_N/");

        // Array med replacements
        $replacements = Array(" 12:00:00", " 18:00:00", " 23:59:59");

        // Denne indtastning skrives om til et tidspunkt
        $this_shift = preg_replace($patterns, $replacements, $shift["$x"]);

        $shifts[] = $this_shift;

        // Medarbejderens vagter føjes til tabellen 'shifts'
        mysql_query("INSERT INTO shifts (inserted, employee, shift) VALUES (now(), '" . $employee . "', '" . $this_shift . "')") or die(mysql_error());
    }

    $query = mysql_query("SELECT navn, email FROM vlog WHERE cprnr = '" . $employee . "'") or die(mysql_error());

    if(mysql_num_rows($query) > 0)
    {
        while($row = mysql_fetch_assoc($query))
        {
            // Indhold på email
            $message .= $row["navn"] . ", " . $employee . " har registreret sin ugeplan:\n\n";

            for($x = 0; $x < sizeof($shifts); $x++)
            {
                $message .= $shifts["$x"] . "\n";
            }

            // Email sendes
            mail("post@side.dk, " . $row["email"], "Registrering af ugeplan", $message);
        }
    }

    mysql_free_result($query);
}

function dow()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $dow;

    $print .= ($x == 0) ? "<tr style=\"background: #CCC;\"><td style=\"font-weight: bold;\">Uge nr.</td>" : "";
    $print .= "<td colspan=\"3\" style=\"font-weight: bold;\">" . $dow["$x"] . "dag</td>";
    $print .= ($x == 6) ? "</tr>\n" : "";

    return $print;
}

function shift()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $dow;

    $print .= ($x == 0) ? "<tr style=\"background: #CCC;\"><td style=\"font-weight: bold;\">-</td>" : "";
    $print .= "<td>D</td>";
    $print .= "<td>AF</td>";
    $print .= "<td>N</td>";
    $print .= ($x == 6) ? "</tr>\n" : "";

    return $print;
}

function formCB()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $month;
    global $year;

    // Denne dato
    $date = date("Y.m.d", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Denne dato på dansk
    $danish = date("d.m.Y", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Nummeret på ugen
    $now = date("W", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Nummeret på dagen i ugen
    $nowd = date("w", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Er dagen søndag, ændres nummeret på dagen i ugen
    if($nowd == 0)
    {
        $nowd = 7;
    }

    $print .= ($x == 0 || $nowd == 1) ? "<tr><td style=\"background: #CCC; font-weight: bold;\">" . $now . "</td>" : "";

    // Tomme felter
    if($x == 0)
    {
        for($y = 1; $y < $nowd; $y++)
        {
            // Baggrundsfarve
            $bg  = $y % 2 ? "FFF" : "CCC";

            $print .= "<td colspan=\"3\" style=\"background: #" . $bg . ";\">&nbsp;</td>";
        }
    }

    // Baggrundsfarve
    $bg  = $nowd % 2 ? "FFF" : "CCC";

    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_D\" title=\"" . $danish . " DAG\"></td>";
    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_AF\" title=\"" . $danish . " AFTEN\"></td>";
    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_N\" title=\"" . $danish . " NAT\"></td>";
    $print .= ($nowd == 7) ? "</tr>\n" : "";

    return $print;
}

// Denne måned
$month = date("m");

// Dette år
$year = date("Y");

// Ugens dage
$dow = Array("Man", "Tirs", "Ons", "Tors", "Fre", "L&oslash;r", "S&oslash;n");

// HTML koder startes
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n";
echo "<html>\n";
echo "<head>\n";
echo "<title>Eksperten - Arbejdstider</title>\n";
echo "<style type=\"text/css\">\n";
echo "td\n";
echo "{\n";
echo "  text-align: center;\n";
echo "}\n";
echo "</style>\n";
echo "</head>\n";
echo "<body>\n";
echo "<form action=\"" . $_SERVER["PHP_SELF"] . "\" method=\"post\">\n";
echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"2\">\n";

for($x = 0; $x < sizeof($dow); $x++)
{
    echo dow();
}

for($x = 0; $x < sizeof($dow); $x++)
{
    echo shift();
}

for($x = 0; $x <= (35 - date("w")); $x++)
{
    echo formCB();
}

// Knapper skrives og HTML koder afsluttes
echo "<tr><td colspan=\"22\"><input name=\"send\" type=\"submit\" id=\"send\" class=\"ok_input\" value=\"Send arbejdstider\">\n";
echo "<input name=\"reset\" type=\"reset\" id=\"reset\" class=\"ok_input\" value=\"Fjern alle markeringer\"></td></tr>\n";
echo "</table>\n";
echo "</form>\n";

echo $output;

echo "</body>\n";
echo "</html>";
?>
Avatar billede henninghabor Nybegynder
09. december 2006 - 15:05 #10
<?php
// Session startes
session_start();

// Forbindelsen til databasen åbnes
$db = mysql_connect("localhost", "xxx", "xxx") or die(mysql_error());

// Databasen vælges
mysql_select_db("defigo_dk") or die("Kunne ikke v&aelig;lge database");

if($_POST["send"])
{
    // Medarbejderens cprnr hentes
    $employee = $_SESSION["cprnr"];

    // Medarbejderens indtastninger hentes
    $shift = $_POST["shift"];

    if(!empty($shift))
    {
        $confirm = "<p>Vagtplanen er registreret.</p>\n";
    }

    for($x = 0; $x < sizeof($shift); $x++)
    {
        // Array med patterns
        $patterns = Array("/\\_D/", "/\\_AF/", "/\\_N/");

        // Array med replacements
        $replacements = Array(" 12:00:00", " 18:00:00", " 23:59:59");

        // Denne indtastning skrives om til et tidspunkt
        $this_shift = preg_replace($patterns, $replacements, $shift["$x"]);

        $shifts[] = $this_shift;

        // Medarbejderens vagter føjes til tabellen 'shifts'
        mysql_query("INSERT INTO shifts (inserted, employee, shift) VALUES (now(), '" . $employee . "', '" . $this_shift . "')") or die(mysql_error());
    }

    $query = mysql_query("SELECT navn, email FROM vlog WHERE cprnr = '" . $employee . "'") or die(mysql_error());

    if(mysql_num_rows($query) > 0)
    {
        while($row = mysql_fetch_assoc($query))
        {
            // Indhold på email
            $message .= $row["navn"] . ", " . $employee . " har registreret sin ugeplan:\n\n";

            for($x = 0; $x < sizeof($shift); $x++)
            {
                // Array med patterns
                $patterns = Array("/\\_D/", "/\\_AF/", "/\\_N/");

                // Array med replacements
                $replacements = Array(" - DAG", " - AFTEN", " - NAT");

                // Denne indtastning skrives om til et tidspunkt
                $message .= preg_replace($patterns, $replacements, $shift["$x"]) . "\n";
            }

            // Email sendes
            mail("post@side.dk, " . $row["email"], "Registrering af ugeplan", $message);
        }
    }

    mysql_free_result($query);
}

function dow()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $dow;

    $print .= ($x == 0) ? "<tr style=\"background: #CCC;\"><td style=\"font-weight: bold;\">Uge nr.</td>" : "";
    $print .= "<td colspan=\"3\" style=\"font-weight: bold;\">" . $dow["$x"] . "dag</td>";
    $print .= ($x == 6) ? "</tr>\n" : "";

    return $print;
}

function shift()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $dow;

    $print .= ($x == 0) ? "<tr style=\"background: #CCC;\"><td style=\"font-weight: bold;\">-</td>" : "";
    $print .= "<td>D</td>";
    $print .= "<td>AF</td>";
    $print .= "<td>N</td>";
    $print .= ($x == 6) ? "</tr>\n" : "";

    return $print;
}

function formCB()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $month;
    global $year;

    // Denne dato
    $date = date("Y.m.d", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Denne dato på dansk
    $danish = date("d.m.Y", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Nummeret på ugen
    $now = date("W", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Nummeret på dagen i ugen
    $nowd = date("w", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Er dagen søndag, ændres nummeret på dagen i ugen
    if($nowd == 0)
    {
        $nowd = 7;
    }

    $print .= ($x == 0 || $nowd == 1) ? "<tr><td style=\"background: #CCC; font-weight: bold;\">" . $now . "</td>" : "";

    // Tomme felter
    if($x == 0)
    {
        for($y = 1; $y < $nowd; $y++)
        {
            // Baggrundsfarve
            $bg  = $y % 2 ? "FFF" : "CCC";

            $print .= "<td colspan=\"3\" style=\"background: #" . $bg . ";\">&nbsp;</td>";
        }
    }

    // Baggrundsfarve
    $bg  = $nowd % 2 ? "FFF" : "CCC";

    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_D\" title=\"" . $danish . " DAG\"></td>";
    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_AF\" title=\"" . $danish . " AFTEN\"></td>";
    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_N\" title=\"" . $danish . " NAT\"></td>";
    $print .= ($nowd == 7) ? "</tr>\n" : "";

    return $print;
}

// Denne måned
$month = date("m");

// Dette år
$year = date("Y");

// Ugens dage
$dow = Array("Man", "Tirs", "Ons", "Tors", "Fre", "L&oslash;r", "S&oslash;n");

// HTML koder startes
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n";
echo "<html>\n";
echo "<head>\n";
echo "<title>Eksperten - Arbejdstider</title>\n";
echo "<style type=\"text/css\">\n";
echo "td\n";
echo "{\n";
echo "  text-align: center;\n";
echo "}\n";
echo "</style>\n";
echo "</head>\n";
echo "<body>\n";

// Bekræftelse skrives
echo $confirm;

echo "<form action=\"" . $_SERVER["PHP_SELF"] . "\" method=\"post\">\n";
echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"2\">\n";

for($x = 0; $x < sizeof($dow); $x++)
{
    echo dow();
}

for($x = 0; $x < sizeof($dow); $x++)
{
    echo shift();
}

for($x = 0; $x <= (35 - date("w")); $x++)
{
    echo formCB();
}

// Knapper skrives og HTML koder afsluttes
echo "<tr><td colspan=\"22\"><input name=\"send\" type=\"submit\" id=\"send\" class=\"ok_input\" value=\"Send arbejdstider\">\n";
echo "<input name=\"reset\" type=\"reset\" id=\"reset\" class=\"ok_input\" value=\"Fjern alle markeringer\"></td></tr>\n";
echo "</table>\n";
echo "</form>\n";

echo $output;

echo "</body>\n";
echo "</html>";
?>
Avatar billede henninghabor Nybegynder
09. december 2006 - 15:23 #11
<?php
// Session startes
session_start();

// Forbindelsen til databasen åbnes
$db = mysql_connect("localhost", "xxx", "xxx") or die(mysql_error());

// Databasen vælges
mysql_select_db("defigo_dk") or die("Kunne ikke v&aelig;lge database");

if($_POST["send"])
{
    // Medarbejderens cprnr hentes
    $employee = $_SESSION["cprnr"];

    // Medarbejderens indtastninger hentes
    $shift = $_POST["shift"];

    // Hvis $shift IKKE er tom
    if(!empty($shift))
    {
        $confirm = "<p>Vagtplanen er registreret.</p>\n";
    }

    for($x = 0; $x < sizeof($shift); $x++)
    {
        // Array med patterns
        $patterns = Array("/\\_D/", "/\\_AF/", "/\\_N/");

        // Array med replacements
        $replacements = Array(" 12:00:00", " 18:00:00", " 23:59:59");

        // Denne indtastning skrives om til et tidspunkt
        $this_shift = preg_replace($patterns, $replacements, $shift["$x"]);

        $shifts[] = $this_shift;

        // Medarbejderens vagter føjes til tabellen 'shifts'
        mysql_query("INSERT INTO shifts (inserted, employee, shift) VALUES (now(), '" . $employee . "', '" . $this_shift . "')") or die(mysql_error());
    }

    // Medarbejderens data hentes
    $query = mysql_query("SELECT navn, email FROM vlog WHERE cprnr = '" . $employee . "'") or die(mysql_error());

    if(mysql_num_rows($query) > 0)
    {
        while($row = mysql_fetch_assoc($query))
        {
            // Indhold på email
            $message .= $row["navn"] . ", " . $employee . " har registreret sin ugeplan:\n\n";

            for($x = 0; $x < sizeof($shift); $x++)
            {
                $y = $x - 1;

                // Array med patterns
                $patterns = Array("/\\_D/", "/\\_AF/", "/\\_N/");

                // Array med replacements
                $replacements = Array(" - DAG", " - AFTEN", " - NAT");

                // Der indsættes et linieskift, hvis denne dag er højere end sidste shift
                if(substr($shift["$y"], 9, 1) < substr($shift["$x"], 9, 1))
                {
                    $message .= "\n";
                }

                // Denne indtastning skrives om til et tidspunkt
                $message .= preg_replace($patterns, $replacements, $shift["$x"]) . "\n";
            }

            $mailHeader .= "To: " . $row["navn"] . " <" . $row["email"] . ">\r\n";
            $mailHeader .= "From: Side.dk <robot@side.dk>\r\n";

            // Email sendes
            mail("post@side.dk, " . $row["email"], "Registrering af ugeplan", $message, $mailHeader);
        }
    }

    mysql_free_result($query);
}

function dow()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $dow;

    $print .= ($x == 0) ? "<tr style=\"background: #CCC;\"><td style=\"font-weight: bold;\">Uge nr.</td>" : "";
    $print .= "<td colspan=\"3\" style=\"font-weight: bold;\">" . $dow["$x"] . "dag</td>";
    $print .= ($x == 6) ? "</tr>\n" : "";

    return $print;
}

function shift()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $dow;

    $print .= ($x == 0) ? "<tr style=\"background: #CCC;\"><td style=\"font-weight: bold;\">-</td>" : "";
    $print .= "<td>D</td>";
    $print .= "<td>AF</td>";
    $print .= "<td>N</td>";
    $print .= ($x == 6) ? "</tr>\n" : "";

    return $print;
}

function formCB()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $month;
    global $year;

    // Denne dato
    $date = date("Y.m.d", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Denne dato på dansk
    $danish = date("d.m.Y", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Nummeret på ugen
    $now = date("W", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Nummeret på dagen i ugen
    $nowd = date("w", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Er dagen søndag, ændres nummeret på dagen i ugen
    if($nowd == 0)
    {
        $nowd = 7;
    }

    $print .= ($x == 0 || $nowd == 1) ? "<tr><td style=\"background: #CCC; font-weight: bold;\">" . $now . "</td>" : "";

    // Tomme felter
    if($x == 0)
    {
        for($y = 1; $y < $nowd; $y++)
        {
            // Baggrundsfarve
            $bg  = $y % 2 ? "FFF" : "CCC";

            $print .= "<td colspan=\"3\" style=\"background: #" . $bg . ";\">&nbsp;</td>";
        }
    }

    // Baggrundsfarve
    $bg  = $nowd % 2 ? "FFF" : "CCC";

    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_D\" title=\"" . $danish . " DAG\"></td>";
    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_AF\" title=\"" . $danish . " AFTEN\"></td>";
    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_N\" title=\"" . $danish . " NAT\"></td>";
    $print .= ($nowd == 7) ? "</tr>\n" : "";

    return $print;
}

// Denne måned
$month = date("m");

// Dette år
$year = date("Y");

// Ugens dage
$dow = Array("Man", "Tirs", "Ons", "Tors", "Fre", "L&oslash;r", "S&oslash;n");

// HTML koder startes
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n";
echo "<html>\n";
echo "<head>\n";
echo "<title>Eksperten - Arbejdstider</title>\n";
echo "<style type=\"text/css\">\n";
echo "td\n";
echo "{\n";
echo "  text-align: center;\n";
echo "}\n";
echo "</style>\n";
echo "</head>\n";
echo "<body>\n";

// Bekræftelse skrives
echo $confirm;

echo "<form action=\"" . $_SERVER["PHP_SELF"] . "\" method=\"post\">\n";
echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"2\">\n";

for($x = 0; $x < sizeof($dow); $x++)
{
    echo dow();
}

for($x = 0; $x < sizeof($dow); $x++)
{
    echo shift();
}

for($x = 0; $x <= (35 - date("w")); $x++)
{
    echo formCB();
}

// Knapper skrives og HTML koder afsluttes
echo "<tr><td colspan=\"22\"><input name=\"send\" type=\"submit\" id=\"send\" class=\"ok_input\" value=\"Send arbejdstider\">\n";
echo "<input name=\"reset\" type=\"reset\" id=\"reset\" class=\"ok_input\" value=\"Fjern alle markeringer\"></td></tr>\n";
echo "</table>\n";
echo "</form>\n";
echo "</body>\n";
echo "</html>";
?>
Avatar billede kimox Nybegynder
09. december 2006 - 15:30 #12
Mailen ser sådan ud når den modtages:

NAVN, CPRNR har registreret sin ugeplan:


2006.12.09 - DAG
2006.12.09 - AFTEN
2006.12.09 - NAT
2006.12.11 - DAG
2006.12.11 - AFTEN
2006.12.11 - NAT

2006.12.19 - DAG
2006.12.19 - AFTEN
2006.12.19 - NAT
2006.12.22 - DAG
2006.12.22 - AFTEN

2006.12.23 - NAT

2006.12.24 - DAG
2006.12.24 - AFTEN

2006.12.27 - DAG
2006.12.27 - AFTEN
2006.12.27 - NAT
Avatar billede henninghabor Nybegynder
09. december 2006 - 15:44 #13
<?php
// Session startes
session_start();

// Forbindelsen til databasen åbnes
$db = mysql_connect("localhost", "xxx", "xxx") or die(mysql_error());

// Databasen vælges
mysql_select_db("defigo_dk") or die("Kunne ikke v&aelig;lge database");

if($_POST["send"])
{
    // Medarbejderens cprnr hentes
    $employee = $_SESSION["cprnr"];

    // Medarbejderens indtastninger hentes
    $shift = $_POST["shift"];

    // Hvis $shift IKKE er tom
    if(!empty($shift))
    {
        $confirm = "<p>Vagtplanen er registreret.</p>\n";
    }

    for($x = 0; $x < sizeof($shift); $x++)
    {
        // Array med patterns
        $patterns = Array("/\\_D/", "/\\_AF/", "/\\_N/");

        // Array med replacements
        $replacements = Array(" 12:00:00", " 18:00:00", " 23:59:59");

        // Denne indtastning skrives om til et tidspunkt
        $this_shift = preg_replace($patterns, $replacements, $shift["$x"]);

        $shifts[] = $this_shift;

        // Medarbejderens vagter føjes til tabellen 'shifts'
        mysql_query("INSERT INTO shifts (inserted, employee, shift) VALUES (now(), '" . $employee . "', '" . $this_shift . "')") or die(mysql_error());
    }

    // Medarbejderens data hentes
    $query = mysql_query("SELECT navn, email FROM vlog WHERE cprnr = '" . $employee . "'") or die(mysql_error());

    if(mysql_num_rows($query) > 0)
    {
        while($row = mysql_fetch_assoc($query))
        {
            // Indhold på email
            $message .= $row["navn"] . ", " . $employee . " har registreret sin ugeplan:\n\n";

            for($x = 0; $x < sizeof($shift); $x++)
            {
                $y = $x - 1;

                // Array med patterns
                $patterns = Array("/\\_D/", "/\\_AF/", "/\\_N/");

                // Array med replacements
                $replacements = Array(" - DAG", " - AFTEN", " - NAT");

                // Der indsættes et linieskift, hvis denne dag er højere end sidste shift
                if(mktime(0, 0, 0, substr($shift["$y"], 5, 2), substr($shift["$y"], 8, 2), substr($shift["$y"], 0, 4)) < mktime(0, 0, 0, substr($shift["$x"], 5, 2), substr($shift["$x"], 8, 2), substr($shift["$x"], 0, 4)))
                {
                    $message .= "\n";
                }

                // Denne indtastning skrives om til et tidspunkt
                $message .= preg_replace($patterns, $replacements, $shift["$x"]) . "\n";
            }

            // Modtager og afsender af email
            $mailHeader .= "To: " . $row["navn"] . " <" . $row["email"] . ">\r\n";
            $mailHeader .= "From: Side.dk <robot@side.dk>\r\n";

            // Email sendes
            mail("post@side.dk, " . $row["email"], "Registrering af ugeplan", $message, $mailHeader);
        }
    }

    mysql_free_result($query);
}

function dow()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $dow;

    $print .= ($x == 0) ? "<tr style=\"background: #CCC;\"><td style=\"font-weight: bold;\">Uge nr.</td>" : "";
    $print .= "<td colspan=\"3\" style=\"font-weight: bold;\">" . $dow["$x"] . "dag</td>";
    $print .= ($x == 6) ? "</tr>\n" : "";

    return $print;
}

function shift()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $dow;

    $print .= ($x == 0) ? "<tr style=\"background: #CCC;\"><td style=\"font-weight: bold;\">-</td>" : "";
    $print .= "<td>D</td>";
    $print .= "<td>AF</td>";
    $print .= "<td>N</td>";
    $print .= ($x == 6) ? "</tr>\n" : "";

    return $print;
}

function formCB()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $month;
    global $year;

    // Denne dato
    $date = date("Y.m.d", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Denne dato på dansk
    $danish = date("d.m.Y", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Nummeret på ugen
    $now = date("W", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Nummeret på dagen i ugen
    $nowd = date("w", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Er dagen søndag, ændres nummeret på dagen i ugen
    if($nowd == 0)
    {
        $nowd = 7;
    }

    $print .= ($x == 0 || $nowd == 1) ? "<tr><td style=\"background: #CCC; font-weight: bold;\">" . $now . "</td>" : "";

    // Tomme felter
    if($x == 0)
    {
        for($y = 1; $y < $nowd; $y++)
        {
            // Baggrundsfarve
            $bg  = $y % 2 ? "FFF" : "CCC";

            $print .= "<td colspan=\"3\" style=\"background: #" . $bg . ";\">&nbsp;</td>";
        }
    }

    // Baggrundsfarve
    $bg  = $nowd % 2 ? "FFF" : "CCC";

    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_D\" title=\"" . $danish . " DAG\"></td>";
    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_AF\" title=\"" . $danish . " AFTEN\"></td>";
    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_N\" title=\"" . $danish . " NAT\"></td>";
    $print .= ($nowd == 7) ? "</tr>\n" : "";

    return $print;
}

// Denne måned
$month = date("m");

// Dette år
$year = date("Y");

// Ugens dage
$dow = Array("Man", "Tirs", "Ons", "Tors", "Fre", "L&oslash;r", "S&oslash;n");

// HTML koder startes
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n";
echo "<html>\n";
echo "<head>\n";
echo "<title>Eksperten - Arbejdstider</title>\n";
echo "<style type=\"text/css\">\n";
echo "td\n";
echo "{\n";
echo "  text-align: center;\n";
echo "}\n";
echo "</style>\n";
echo "</head>\n";
echo "<body>\n";

// Bekræftelse skrives
echo $confirm;

echo "<form action=\"" . $_SERVER["PHP_SELF"] . "\" method=\"post\">\n";
echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"2\">\n";

for($x = 0; $x < sizeof($dow); $x++)
{
    echo dow();
}

for($x = 0; $x < sizeof($dow); $x++)
{
    echo shift();
}

for($x = 0; $x <= (35 - date("w")); $x++)
{
    echo formCB();
}

// Knapper skrives og HTML koder afsluttes
echo "<tr><td colspan=\"22\"><input name=\"send\" type=\"submit\" id=\"send\" class=\"ok_input\" value=\"Send arbejdstider\">\n";
echo "<input name=\"reset\" type=\"reset\" id=\"reset\" class=\"ok_input\" value=\"Fjern alle markeringer\"></td></tr>\n";
echo "</table>\n";
echo "</form>\n";
echo "</body>\n";
echo "</html>";
?>
Avatar billede henninghabor Nybegynder
11. december 2006 - 14:32 #14
Den endelige side jvf. hyggelig samtale med kimox:

<?php
// Session startes
session_start();

// Forbindelsen til databasen åbnes
$db = mysql_connect("localhost", "xxx", "xxx") or die(mysql_error());

// Databasen vælges
mysql_select_db("xxx") or die("Kunne ikke v&aelig;lge database");

if($_POST["send"])
{
    // Medarbejderens cprnr hentes
    $employee = $_SESSION["cprnr"];

    // Medarbejderens indtastninger hentes
    $shift = $_POST["shift"];

    // Hvis $shift IKKE er tom
    if(!empty($shift))
    {
        $confirm = "<p>Vagtplanen er registreret.</p>\n";
    }

    for($x = 0; $x < sizeof($shift); $x++)
    {
        // Array med patterns
        $patterns = Array("/\\_D/", "/\\_AF/", "/\\_N/");

        // Array med replacements
        $replacements = Array(" 12:00:00", " 18:00:00", " 23:59:59");

        // Denne indtastning skrives om til et tidspunkt
        $this_shift = preg_replace($patterns, $replacements, $shift["$x"]);

        $shifts[] = $this_shift;

        // Medarbejderens arbejdstider hentes
        $query = mysql_query("SELECT shift FROM vshifts WHERE employee = '" . $employee . "' AND shift = '" . $this_shift . "'") or die(mysql_error());

        if(mysql_num_rows($query) == 0)
        {
            // Medarbejderens vagter føjes til tabellen 'shifts'
            mysql_query("INSERT INTO vshifts (inserted, employee, shift) VALUES (now(), '" . $employee . "', '" . $this_shift . "')") or die(mysql_error());
        }

        mysql_free_result($query);

        // Til brug når der skal slettes tidligere indtastninger
        $for_delete .= " AND shift != '" . $this_shift . "'";
    }

    // Medarbejderens tidligere indtastninger slettes fra tabellen 'shifts'
    mysql_query("DELETE FROM vshifts WHERE employee = '" . $employee . "' AND shift >= CURDATE()" . $for_delete) or die(mysql_error());

    // Medarbejderens data hentes
    $query = mysql_query("SELECT navn, email FROM vlog WHERE cprnr = '" . $employee . "'") or die(mysql_error());

    if(mysql_num_rows($query) > 0)
    {
        while($row = mysql_fetch_assoc($query))
        {
            // Indhold på email
            $message .= $row["navn"] . ", " . $employee . " har registreret sin ugeplan:\n\n";

            for($x = 0; $x < sizeof($shift); $x++)
            {
                $y = $x - 1;

                // Array med patterns
                $patterns = Array("/\\_D/", "/\\_AF/", "/\\_N/");

                // Array med replacements
                $replacements = Array(" - DAG", " - AFTEN", " - NAT");

                // Der indsættes et linieskift, hvis denne dag er højere end sidste shift
                if(mktime(0, 0, 0, substr($shift["$y"], 5, 2), substr($shift["$y"], 8, 2), substr($shift["$y"], 0, 4)) < mktime(0, 0, 0, substr($shift["$x"], 5, 2), substr($shift["$x"], 8, 2), substr($shift["$x"], 0, 4)))
                {
                    $message .= "\n";
                }

                // Denne indtastning skrives om til et tidspunkt
                $message .= preg_replace($patterns, $replacements, $shift["$x"]) . "\n";
            }

            // Modtager og afsender af email
            $mailHeader .= "To: " . $row["navn"] . " <" . $row["email"] . ">\r\n";
            $mailHeader .= "From: Side.dk <robot@side.dk>\r\n";

            // Email sendes
            mail("post@side.dk, " . $row["email"], "Registrering af ugeplan", $message, $mailHeader);
        }
    }

    mysql_free_result($query);
}

function dow()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $dow;

    $print .= ($x == 0) ? "<tr style=\"background: #CCC;\"><td style=\"font-weight: bold;\">Uge nr.</td>" : "";
    $print .= "<td colspan=\"3\" style=\"font-weight: bold;\">" . $dow["$x"] . "dag</td>";
    $print .= ($x == 6) ? "</tr>\n" : "";

    return $print;
}

function shift()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $dow;

    $print .= ($x == 0) ? "<tr style=\"background: #CCC;\"><td style=\"font-weight: bold;\">-</td>" : "";
    $print .= "<td>D</td>";
    $print .= "<td>AF</td>";
    $print .= "<td>N</td>";
    $print .= ($x == 6) ? "</tr>\n" : "";

    return $print;
}

function formCB()
{
    // Værdierne hentes udenfor funktionen
    global $x;
    global $month;
    global $year;

    // Denne dato
    $date = date("Y.m.d", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Denne dato på dansk
    $danish = date("d.m.Y", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Nummeret på ugen
    $now = date("W", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Nummeret på dagen i ugen
    $nowd = date("w", mktime(0, 0, 0, $month, date("d") + $x, $year));

    // Er dagen søndag, ændres nummeret på dagen i ugen
    if($nowd == 0)
    {
        $nowd = 7;
    }

    $print .= ($x == 0 || $nowd == 1) ? "<tr><td style=\"background: #CCC; font-weight: bold;\">" . $now . "</td>" : "";

    // Tomme felter
    if($x == 0)
    {
        for($y = 1; $y < $nowd; $y++)
        {
            // Baggrundsfarve
            $bg  = $y % 2 ? "FFF" : "CCC";

            $print .= "<td colspan=\"3\" style=\"background: #" . $bg . ";\">&nbsp;</td>";
        }
    }

    // Medarbejderens cprnr hentes
    $employee = $_SESSION["cprnr"];

    // Baggrundsfarve
    $bg  = $nowd % 2 ? "FFF" : "CCC";

    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_D\"";

    // Medarbejderens arbejdstider hentes
    $query = mysql_query("SELECT shift FROM vshifts WHERE employee = '" . $employee . "' AND shift = '" . $date . " 12:00:00'") or die(mysql_error());

    if(mysql_num_rows($query) > 0)
    {
        $print .= " checked";
    }

    mysql_free_result($query);

    $print .= " title=\"" . $danish . " DAG\"></td>";
    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_AF\"";

    // Medarbejderens arbejdstider hentes
    $query = mysql_query("SELECT shift FROM vshifts WHERE employee = '" . $employee . "' AND shift = '" . $date . " 18:00:00'") or die(mysql_error());

    if(mysql_num_rows($query) > 0)
    {
        $print .= " checked";
    }

    mysql_free_result($query);

    $print .= "  title=\"" . $danish . " AFTEN\"></td>";
    $print .= "<td style=\"background: #" . $bg . ";\"><input type=\"checkbox\" name=\"shift[]\" value=\"" . $date . "_N\"";

    // Medarbejderens arbejdstider hentes
    $query = mysql_query("SELECT shift FROM vshifts WHERE employee = '" . $employee . "' AND shift = '" . $date . " 23:59:59'") or die(mysql_error());

    if(mysql_num_rows($query) > 0)
    {
        $print .= " checked";
    }

    mysql_free_result($query);

    $print .= "  title=\"" . $danish . " NAT\"></td>";
    $print .= ($nowd == 7) ? "</tr>\n" : "";

    return $print;
}

// Denne måned
$month = date("m");

// Dette år
$year = date("Y");

// Ugens dage
$dow = Array("Man", "Tirs", "Ons", "Tors", "Fre", "L&oslash;r", "S&oslash;n");

// Der ryddes op i tabellen 'shifts'
mysql_query("DELETE FROM vshifts WHERE shift < DATE_SUB(CURDATE(), INTERVAL 28 DAY)") or die(mysql_error());

// HTML koder startes
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n";
echo "<html>\n";
echo "<head>\n";
echo "<title>Eksperten - Arbejdstider</title>\n";
echo "<style type=\"text/css\">\n";
echo "td\n";
echo "{\n";
echo "  text-align: center;\n";
echo "}\n";
echo "</style>\n";
echo "</head>\n";
echo "<body>\n";

// Bekræftelse skrives
echo $confirm;

echo "<form action=\"" . $_SERVER["PHP_SELF"] . "\" method=\"post\">\n";
echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"2\">\n";

for($x = 0; $x < sizeof($dow); $x++)
{
    echo dow();
}

for($x = 0; $x < sizeof($dow); $x++)
{
    echo shift();
}

for($x = 0; $x <= (35 - date("w")); $x++)
{
    echo formCB();
}

// Knapper skrives og HTML koder afsluttes
echo "<tr><td colspan=\"22\"><input name=\"send\" type=\"submit\" id=\"send\" class=\"ok_input\" value=\"Send arbejdstider\">\n";
echo "<input name=\"reset\" type=\"reset\" id=\"reset\" class=\"ok_input\" value=\"Fjern alle markeringer\"></td></tr>\n";
echo "</table>\n";
echo "</form>\n";
echo "</body>\n";
echo "</html>";
?>
Avatar billede kimox Nybegynder
11. december 2006 - 14:34 #15
Jeg siger tusind tak for hjælpen fra henninghabor - :) points og karma til dig
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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