ajax.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. if ( isset( $_GET["venue"] ) && !empty( $_GET["venue"] ) ) {
  3. parse_data();
  4. }
  5. function test_function()
  6. {
  7. $return = $_GET;
  8. //Do what you need to do with the info. The following are some examples.
  9. //if ($return["favorite_beverage"] == ""){
  10. // $return["favorite_beverage"] = "Coke";
  11. //}
  12. $return["favorite_restaurant"] = "McDonald's";
  13. $return["json"] = json_encode($return);
  14. echo $_GET['callback'] . '(' . json_encode($return ). ')';
  15. }
  16. function parse_data()
  17. {
  18. $return = [];
  19. $data = $_GET;
  20. if ( empty( $data ) ) {
  21. test_function();
  22. }
  23. $venue = $data['venue'];
  24. $races = $data['races'];
  25. if ( empty( $venue ) || empty( $races ) ) {
  26. test_function();
  27. }
  28. require_once 'dbconfig.php';
  29. $dsn = "pgsql:host=$host;port=5432;dbname=$db;user=$username;password=$password";
  30. try{
  31. // create a PostgreSQL database connection
  32. $conn = new PDO( $dsn );
  33. $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  34. $query_string = "UPDATE race_program
  35. SET torn = TRUE
  36. WHERE race_date = :race_date
  37. AND venue = :venue
  38. AND start_time = :start_time;";
  39. $sth = $conn->prepare( $query_string );
  40. for ($i = 0; $i < count( $races ); $i++ ) {
  41. // $datetime = strtotime( $races[$i]['localtime'] );
  42. $datetime_object = new DateTime( $races[$i]['localtime'] );
  43. // $datetime_object->setTimestamp( $datetime );
  44. $datetime_object->setTimezone( new DateTimeZone( $venue['localTimezone'] ) );
  45. $date = $datetime_object->format( 'Y-m-d' );
  46. $time = $datetime_object->format( 'H:i:s' );
  47. $return[] = [$date, $time, $venue['name'], $venue['localTimezone'], $date . 'T' . $time];
  48. $sth->bindParam( ':race_date', $date );
  49. $sth->bindParam( ':venue', $venue['name'] );
  50. $sth->bindParam( ':start_time', $time );
  51. $sth->execute();
  52. }
  53. $conn->commit();
  54. echo $_GET['callback'] . '(' . json_encode($return ). ')';
  55. $conn = null;
  56. }catch (PDOException $e){
  57. // report error message
  58. echo $_GET['callback'] . '(' . json_encode( $e->getMessage() ). ')';
  59. } catch(Exception $e)
  60. {
  61. echo $_GET['callback'] . '(' . json_encode( $e->getMessage() ). ')';
  62. }
  63. }