updateRowImmediate.php 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. require('auth-validate.php');
  3. require('../../db.php');
  4. $id_user = $_SESSION['id_user'];
  5. $id_file_row = isset($_REQUEST['id_file_row']) ? $_REQUEST['id_file_row'] : null;
  6. $fields_to_check = array('id_driver', 'trailer');
  7. $dynamic_fields = '';
  8. $params = array(
  9. ':id_file_row' => $id_file_row
  10. );
  11. foreach($fields_to_check as $key)
  12. if(isset($_REQUEST[$key]))
  13. {
  14. $params[":$key"] = $_REQUEST[$key];
  15. if(strlen($dynamic_fields) > 0)
  16. $dynamic_fields .= ", ";
  17. $dynamic_fields .= "$key = :$key";
  18. }
  19. if(isset($_REQUEST['date_canceled']))
  20. {
  21. if(strlen($dynamic_fields) > 0)
  22. $dynamic_fields .= ", ";
  23. $dynamic_fields .= "date_canceled = " . ($_REQUEST['date_canceled'] ? 'NOW()' : 'NULL');
  24. }
  25. $sql = "UPDATE file_row
  26. SET $dynamic_fields
  27. WHERE id_file_row = :id_file_row";
  28. $stmt = $dbh->prepare($sql);
  29. try
  30. {
  31. $ret = $stmt->execute($params);
  32. }
  33. catch(Exception $e)
  34. {
  35. http_response_code(500);
  36. //TODO: probably shouldn't report this internal exception message to the user
  37. echo $e->getMessage();
  38. return;
  39. }
  40. echo 'OK';
  41. ?>