Advertisement
Guest User

Zeiterfassung by RD 03

a guest
Oct 6th, 2016
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 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. $email = (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