Advertisement
Guest User

Zeiterfassung by RD 02

a guest
Oct 6th, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.70 KB | None | 0 0
  1. <?php
  2. //* Zeiterfassung */
  3. //* für Fragen rakondark@gmail.com  */
  4. /* Arbeitsweise :
  5.  * Das Formular wird abgeschickt so das das PHP
  6.  * den Eintrag machen kann (INSERT) also INSERT ganz am Anfang setzen
  7.  * Danach sollte dann folgendes kommen , da der Benutzer ja wieder
  8.  * das Formular sieht und entsprechend ausgegraute optionen hat .
  9.  */
  10. //* ungeprüft */
  11.  
  12. //* Das Vorgaben Array */
  13. $vorgabe = array();
  14. //* Die Anzuzeigenden Optionen */
  15. for ($stunde = 16 ; $stunde < 19 ; ++$stunde) {
  16.     for ($minute = 0 ; $minute < 60 ; $minute= $minute +10) {
  17.         //* Formatiert das auch 00 bei Minuten stehen */
  18.         $vorgabe[] = sprintf('%02d:%02d',$stunde,$minute);
  19.     }
  20. }
  21.  
  22. /* Akutelle Werte aus der Datenbank lesen "wenn  Email" vorhanden
  23.  * Nur nötig wenn der gleiche Benutzer mehrere Termine setzen kann
  24.  * Sollte es ein mehr Benutzer System werden muss eh vor jedem Insert
  25.  * erstmal geprüft werden ob ein Termin schon belegt ist .
  26.  */
  27. $aktuell = array();
  28. if (isset($_POST['email'])) {} // nur nötig wenn gleicher Benutzer Mehrfachbuchung macht
  29.     /* Wir gehen hier von einem Textfeld bei Zeit aus ,
  30.      *  sollte es ein Datums oder Time Feld sein
  31.      *  muss die Ausgabe noch als String erfolgen um den
  32.      * späteren vergleich zu ermöglichen
  33.     */
  34.     $stadement = $pdo->prepare("SELECT zeit FROM ".$ret." WHERE email = :email ";);
  35.     $stmt->bindValue(':email'=>$_POST['email']);
  36.     $statement->execute();
  37.     $resultZeit = $statement->fetchAll(PDO::FETCH_ASSOC);
  38.     //* ERgebnis Werte in array $aktuell sammeln */
  39.     foreach ($resultZeit as $key=>$value) {
  40.         $aktuell[] = $value;
  41.     }
  42. }
  43.  
  44.  
  45.  
  46. /* $options für html Ausgabe */
  47. $options ="" ;
  48.  
  49. //* Für jede gefundene Vorgabe prüfen ob es eine Aktuelle Zeit schon gibt */
  50. foreach ($vorgabe as $einezeit) {
  51.  $deaktivier ="";
  52.  //* Wenn Zeit in aktuell dann Option deaktivieren */
  53.  if (in_array($einezeit,$aktuell)) {
  54.   $deaktivier = "disabled=\"disabled\"";
  55.  }
  56.  $options .="<option ".$deaktivier.">";
  57.  $options .= $einezeit;
  58.  $options .="</option>";
  59. }
  60.  
  61. ?>
  62.  
  63. <!DOCTYPE html>
  64. <html>
  65.     <head>
  66.  
  67.     </head>
  68.  
  69.     <body>
  70.         <form name="eingaben" >
  71.             <select name="zeit" id="zeilen">
  72.                 <?php echo $options; ?>
  73.             </select>
  74.         <input name="ssubmit" type="button" >
  75. <?php
  76. //* noch zu tun wäre die übername der Werte Name Email etc */
  77. //* Hier nur ein Beispiel und gilt auch nur fals ein Benutzer mehrfach Buchungen machen kann */
  78. $name = (isset($_POST['Name'})?$_POST['Name']:'';
  79. $name = (isset($_POST['email'})?$_POST['email']:'';
  80. ?>
  81. <!-- Werte sind nur gesetzt wenn schon mit Werten gepostet wurde (also mindestens ein Eintrag) -->
  82.         <input name="Name" value="<?php echo $name; ?>" />
  83.         <input name="email" value="<?php echo $email; ?>" />
  84.     </form>
  85.     </body>
  86. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement