Advertisement
Guest User

Untitled

a guest
Apr 13th, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.92 KB | None | 0 0
  1. <?php
  2.  
  3. $y_tiedot = "host=dbstud.sis.uta.fi port=5432 dbname=a637512 user=a637512 password=salasana";
  4.  
  5. $yhteys = pg_connect($y_tiedot) or die("Tietokantayhteyden luominen epäonnistui.");
  6.  
  7. if (isset($_POST['tallenna'])) {
  8.  
  9. $tyokohde_id = intval($_POST['tyokohde_id']);
  10.  
  11. if (!empty($tyokohde_id)) {
  12.  
  13. pg_query('BEGIN');
  14.  
  15. $tunti_paivitys = $tunti_ale_paivitys = $tarvike_paivitys = $tarvike_ale_paivitys = true;
  16.  
  17. // Tuntitöiden ja mahdollisten alennusprosenttien lisääminen.
  18.  
  19. $tuntityypit = array('tyo', 'suunnittelu', 'aputyo');
  20. $tunnit = array(intval($_POST['tyo']), intval($_POST['suunnittelu']), intval($_POST['aputyo']));
  21. $alet = array($_POST['tyo_ale'], $_POST['suunnittelu_ale'], $_POST['aputyo_ale']);
  22.  
  23. for ($i = 0; $i < 3; $i++) {
  24. if (!empty($tunnit[$i])) {
  25. $tunti_lisays = "UPDATE tiko_ht.tyokohde_tuntityo SET maara = maara + $1
  26. WHERE tyokohde_id = $2 AND tyyppi = $3";
  27. $tunti_paivitys = pg_query_params($tunti_lisays, array($tunnit[$i], $tyokohde_id, $tuntityypit[$i]));
  28. }
  29. if ($alet[$i] != "") {
  30. $tunti_ale_lisays = "UPDATE tiko_ht.tyokohde_tuntityo SET alennusprosentti = $1
  31. WHERE tyokohde_id = $2 AND tyyppi = $3";
  32. $tunti_ale_paivitys = pg_query_params($tunti_ale_lisays, array($alet[$i], $tyokohde_id, $tuntityypit[$i]));
  33. }
  34. if (!$tunti_paivitys || !$tunti_ale_paivitys)
  35. break;
  36. }
  37.  
  38. // Tarvikkeiden ja mahdollisten alennusprosenttien lisääminen.
  39.  
  40. for ($tarvikeNro = 1; $tarvikeNro <= intval($_POST['tarvikeLkm']); $tarvikeNro++) {
  41.  
  42. $tarvike_id = intval($_POST['tarvike_id' . strval($tarvikeNro)]);
  43. $tarvike_maara = intval($_POST['tarvike_maara' . strval($tarvikeNro)]);
  44. $tarvike_ale = $_POST['tarvike_ale' . strval($tarvikeNro)];
  45.  
  46. if (!empty($tarvike_id)) {
  47. $tarvike_lisays = "UPDATE tiko_ht.tarvike_tyokohde SET maara = maara + $1
  48. WHERE tyokohde_id = $2 AND tarvike_id = $3";
  49. $tarvike_paivitys = pg_query_params($tarvike_lisays, array($tarvike_maara, $tyokohde_id, $tarvike_id));
  50.  
  51. // Jos ei vaikuttanut mihinkään riviin niin tarviketta ei vielä ole. Lisätään se.
  52. if (pg_affected_rows($tarvike_paivitys) == 0) {
  53. $tarvike_lisays = "INSERT INTO tiko_ht.tarvike_tyokohde (tarvike_id, tyokohde_id, maara)
  54. VALUES ($1, $2, $3)";
  55. $tarvike_paivitys = pg_query_params($tarvike_lisays, array($tarvike_id, $tyokohde_id, $tarvike_maara));
  56. }
  57.  
  58. if ($tarvike_ale != "") {
  59. $tarvike_ale_lisays = "UPDATE tiko_ht.tarvike_tyokohde SET alennusprosentti = $1
  60. WHERE tyokohde_id = $2 AND tarvike_id = $3";
  61. $tarvike_ale_paivitys = pg_query_params($tarvike_ale_lisays, array($tarvike_ale, $tyokohde_id, $tarvike_id));
  62. }
  63.  
  64. // Jos ilmeni virheitä niin poistutaan silmukasta.
  65. if (!$tarvike_paivitys || !$tarvike_ale_paivitys)
  66. break;
  67. }
  68. }
  69.  
  70. // Tarkistetaan tapahtuiko virheitä.
  71. if ($tunti_paivitys && $tunti_ale_paivitys && $tarvike_paivitys && $tarvike_ale_paivitys)
  72. $viesti = 'Tunnit ja tarvikkeet lisätty.';
  73. else
  74. $viesti = 'Tunteja ja tarvikkeita ei lisätty: ' . pg_last_error();
  75.  
  76. pg_query('COMMIT');
  77.  
  78. }
  79. else {
  80. $viesti = 'Pakollinen tieto puuttuu: Työkohteen tunnus.';
  81. }
  82. }
  83.  
  84. pg_close($yhteys);
  85.  
  86. ?>
  87.  
  88. <html>
  89. <head>
  90. <meta charset="UTF-8">
  91. <title>Tapahtuma 2: Tuntitöiden lisääminen työkohteeseen</title>
  92. <script type="text/javascript"
  93. src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
  94. </script>
  95. <script type="text/javascript">
  96. $(document).ready(function(){
  97. var laskuri = 1;
  98. $('#tarvikeLisays').click(function() {
  99. if (laskuri == 1) {
  100. $('#tarvikeLista').append('<tr><th>Tarvike</th><th>Tarvikkeen tunnus</th>' +
  101. '<th>Tarvikkeen määrä</th><th>Tarvikkeen alennusprosentti</th></tr>');
  102. }
  103. $('#tarvikeLista').append('<tr><td>' + laskuri + '.</td>' +
  104. '<td><input type="text" name="tarvike_id' + laskuri + '" /></td>' +
  105. '<td><input type="text" name="tarvike_maara' + laskuri + '" /></td>' +
  106. '<td><input type="text" name="tarvike_ale' + laskuri + '" /></td></tr>');
  107. document.getElementById("tarvikeLkm").value = laskuri;
  108. laskuri++;
  109. });
  110. });
  111. </script>
  112. </head>
  113. <body>
  114.  
  115. <h1>Tuntitöiden lisääminen työkohteeseen</h1>
  116.  
  117. <form action="T2.php" method="post">
  118.  
  119. <?php if (isset($viesti)) echo '<p style="color:red">'.$viesti.'</p>'; ?>
  120.  
  121. <table>
  122. <tr>
  123. <td>Työkohteen tunnus</td>
  124. <td><input type="text" name="tyokohde_id" value="" /></td>
  125. </tr>
  126. <tr>
  127. <td>Työtuntien määrä</td>
  128. <td><input type="text" name="tyo" value="" /></td>
  129. <td>Työtuntien alennusprosentti</td>
  130. <td><input type="text" name="tyo_ale" value="" /></td>
  131. </tr>
  132. <tr>
  133. <td>Suunnittelutuntien määrä</td>
  134. <td><input type="text" name="suunnittelu" value="" /></td>
  135. <td>Suunnittelutuntien alennusprosentti</td>
  136. <td><input type="text" name="suunnittelu_ale" value="" /></td>
  137. </tr>
  138. <tr>
  139. <td>Aputyötuntien määrä</td>
  140. <td><input type="text" name="aputyo" value="" /></td>
  141. <td>Aputyötuntien alennusprosentti</td>
  142. <td><input type="text" name="aputyo_ale" value="" /></td>
  143. </tr>
  144. </table>
  145.  
  146. <table id="tarvikeLista"></table>
  147. <input type="button" value="Lisää tarvike" id="tarvikeLisays" />
  148.  
  149. <br />
  150. <input type="hidden" name="tarvikeLkm" id="tarvikeLkm" placeholder="0" />
  151. <br />
  152.  
  153. <input type="submit" name="tallenna" value="Lisää tiedot" />
  154.  
  155. </body>
  156. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement