Witam,

podłączyłam skrypt do mojej bazy i chciałabym aby automatycznie corntab zmieniał statusy przesyłek niestety nie potrafię rozbić zmienna $packageTracking aby otrzymać informację o ostatnim statusie przesyłki. Potrafiłam tylko zrobić cos takiego jak poniżej ale nie zdaje to egzaminu gdyż wyskakują błędy. Niestety nie umiem zastosować w tym przypadku klas. Możecie Panowie mnie jakoś nakierować?

Strona z której wzięłam skrypt: Temat: klasa Poczta Polska API sledzenie przesylki status przesylki

  1. $query = "SELECT ps_order_history.id_order, ps_order_carrier.tracking_number, ps_orders.current_state, max(ps_order_history.date_add) FROM ps_order_carrier INNER JOIN ps_order_history USING ( id_order ) INNER JOIN ps_orders USING ( id_order ) where ps_order_carrier.id_carrier in (221, 222, 178) and ps_orders.current_state in (4, 31, 36, 37, 38) group by ps_order_history.id_order";
  2. if(!$result = mysql_query($query, $db_lnk)){
  3. echo('Baza danych: Blad - pobieranie listy przesylek POCZTA z odpowiednimi statusami w PS<BR>');
  4. }
  5. while($rowe = mysql_fetch_row($result)){
  6. require_once 'PolishPostTracking/Autoloder.php';
  7. try {
  8. $PolishPostApi = new \PolishPostTracking\Api;
  9. $packageTracking = $PolishPostApi->checkPackage( $rowe[1] );
  10. print_r( $packageTracking );
  11. } catch( \PolishPostTracking\Exception $E ) {
  12. echo '<br> ' . $E->getMessage('kod');
  13. }
  14.  
  15. $paczka_doreczona = "P_D";
  16. $paczka_awizowana = "P_A";
  17. $paczka_odebrana = "P_NAD";
  18.  
  19. if(strpos($packageTracking, $paczka_doreczona) !==False && $rowe[2] != '5') {
  20. $logi = $logi."Pobrano status: <b>Doreczona</b> ... <br>";
  21. $sql = "insert into ps_order_history values('','2','".$rowe[0]."','5','".date('Y-m-d H:i:s')."')";
  22. mysql_query($sql);
  23. $sql = "update ps_orders set current_state='5' where id_order='".$rowe[0]."'";
  24. mysql_query($sql);
  25. $logi = $logi."Zapisano status: <b>Doreczona</b> ... <br>";
  26. }