Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Brak Pętli - wykonywanie kilikunastu zapytań do bazy danych i się zwiększa
Forum PHP.pl > Forum > Przedszkole
timeo
Witajcie.
Mam poniższy kod. I gdy klikam SUBMIT do bazy danych zostaje wysłane od 10 do nawet 100 zapytań (tabela zmianstatusow). Gdzie robię błąd?
  1. case "serwisD2D":
  2. ?>
  3. <div id="prawy">
  4. <div id="columnaportal2g">
  5. <div id="columnaportal2g1"><center><?php echo '#'.'<B>'.'<a href='.$row['ticket'].'>'.$row['ticket'].'</a>'.'</B>'; ?></CENTER></div>
  6. <div id="columnaportal2g2"><b>Telefon: </b><?php echo $row['model3']. " ".$row['brand2']. " ". $row['Kolor'];?></div>
  7. <div id="columnaportal2g3"><b>Imei: </b><?php echo $row['imei']; ?>
  8. <?php
  9. $dataprzeterminowania=$row['Przyjecie'];
  10. $status=$row['Status'];
  11. $datadzisiaj= date('Y-m-d H:i:s', strtotime('- 4 day'));
  12. $data = date("Y-m-d H:i:s");
  13. $dataroznica=((strtotime($datadzisiaj)-strtotime($dataprzeterminowania))/(60*60*24));
  14. if($dataprzeterminowania<=$datadzisiaj AND $status<>"Zamknięte")
  15. {
  16. ?>
  17. <div id="burgund"><?php echo 'Przyjęto:'. $row['Przyjecie']; ?> Przeterminowane o <?php
  18. //echo $dataroznica."dni";
  19. echo number_format(($dataroznica), 0)." dni";
  20. ?></div>
  21. <?php }
  22. else
  23. {?>
  24. <div id="lemon"><?php echo 'Przyjęto:'. $row['Przyjecie']; ?>W terminie</div>
  25. <?php
  26. }
  27. ?>
  28. </div>
  29. <div id="columnaportal2g4"><b>Klient: </b><?php echo $row['klient']; ?><div id="zielony">Serwis D2D</div></div>
  30. </div>
  31. <hr style="width: 95%; ">
  32. <div id="columnaportal2g">
  33. <div id="columnaportal2g1"><b>Przyjęto: </b><br><?php echo $row['Przyjecie']; ?></div>
  34. <div id="columnaportal2g2"><b>Rodzaj serwisu: </b><br><?php echo $row['corobione'];?></div>
  35. <div id="columnaportal2g3"><b>Montować Szkło: </b><br><?php echo $row['szklo']; ?></div>
  36. <div id="columnaportal2g4"><b>Serwisant: </b><br><?php echo $row['Ktorobil']; ?></div>
  37. </div>
  38. <br>
  39.  
  40. <div id="columnaportal2g">
  41. <div id="columnaportal2g28"><b>Uwagi: </b><?php echo $row['uwagidoserwisu']; ?></div></div>
  42. <br><br>
  43. <?php
  44. $ticket = $row['ticket'];
  45. $stmt2 = $db->prepare('SELECT * FROM zmianastatusow WHERE ticket = :ticket');
  46. $stmt2->bindValue(':ticket', $ticket, PDO::PARAM_INT);
  47. $stmt2->execute();
  48. foreach ($stmt2 as $row6){ ?>
  49. <div id="columnaportal2g">
  50. <div id="columnaportal2g19">Dodano: <?php echo $row6['data']; ?> Przez: <?php echo $row6['user']; ?> </div>
  51. <div id="columnaportal2g15"><?php echo $row6['status']; ?></div></div>
  52. <?php } ?><br>
  53. <div id="columnaportal2g3">
  54. <?php
  55.  
  56. $pracownik = array('JJJJ',AAAA','BBBB','CCC');
  57. echo '<form method="POST" action=""><select name="pracownik">';
  58. foreach($pracownik as $pracownikstat)
  59. echo '<option value="'.$pracownikstat.'">'.$pracownikstat.'</option>';
  60. echo '</select> <input type="hidden" name="nazwisko" value="'.$nazwisko.'"><input type="hidden" name="ticket" value="'.$ticket.'"><input type="hidden" name="status" value="Przypisano do Serwisanta"><input type="submit" id="jest" name="jest" value="Przypisz Naprawę"></form><br>';
  61. ?>
  62.  
  63. </div>
  64.  
  65.  
  66. <div id="columnaportal2g3"><div id="fioletowy"><a a href="#" onclick="window.open('czesci.php?ticket=<?php echo $row['ticket']; ?>&Status=<?php echo $statuszakoncz; ?>&rodzaj=<?php echo $rodzajnaprawy; ?>', 'Zapisano do bazy', 'height=600,width=550');" class="czarny">Pobierz części</a> </div></div>
  67.  
  68. <div id="columnaportal2g3"><div id="niebieski"><a a href="#" onclick="window.open('oczekujace.php?ticket=<?php echo $row['ticket']; ?>&Status=<?php echo $status; ?>', 'Zapisano do bazy', 'height=600,width=500');" class="czarny">Zmień Status</a> </div></div></div>
  69.  
  70. <div id="prawy1">
  71. <br></div>
  72. <?php
  73. default:
  74. ;
  75. break;
  76. }
  77.  
  78.  
  79. if(isset($_POST['jest']))
  80. {
  81.  
  82.  
  83. $data = date("Y-m-d H:i:s");
  84. $czas = date('Y-m-d H:i:s', strtotime('+ 6 hours'));
  85. $przyjecie = $db -> prepare('UPDATE `mobidoktor` set Ktorobil = :pracownik where ticket = :ticket'); // 1
  86.  
  87. $przyjecie -> bindValue(':pracownik', $_POST['pracownik'], PDO::PARAM_STR); // 2
  88. $przyjecie -> bindValue(':ticket', $_POST['ticket'], PDO::PARAM_STR);
  89. $zmianastatusu = $db->prepare("INSERT INTO zmianastatusow SET user = :user, ticket = :ticket, data = :data, status = :status" );
  90. $zmianastatusu ->bindValue(':ticket', $_POST['ticket'], PDO::PARAM_INT);
  91. $zmianastatusu ->bindValue(':status', $_POST['status'], PDO::PARAM_STR);
  92. $zmianastatusu ->bindValue(':user', $range3, PDO::PARAM_STR);
  93. $zmianastatusu ->bindValue(':data', $czas, PDO::PARAM_INT);
  94.  
  95.  
  96. try {
  97. $przyjecie->execute();
  98. $zmianastatusu ->execute();
  99.  
  100.  
  101. } catch (PDOException $exception) {
  102. die($exception->getMessage());
  103. }
  104.  
  105. }
Tomplus
Zastanawia mnie ten twój case "serwisD2D" na początku.
Czy pozostałe też mają opcję zmian statusów? Bo może błąd jest dlatego że nie masz break między case'ami?

I nie wydaje ci się że kod jest mało czytelny, gdy dla każdego znaku dla parsera PHP dodajesz

  1. <? if(costam) { ?></div>
  2. <?php } ?>


zamiast
  1. <? if(costam) {
  2. $string .= '</div>';
  3. }
  4. echo $string; ?>
  5. <tag/><tag/><tag/><tag/><tag/> lub tak:
  6. <?=$string?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.