Praca Programisty

Praca Programisty Server

 

    Starając się o pracę programisty PHP, MYSQL schodziłem kilka firm. Poziom był różny od pytań podstawowych do bardziej zawansowanych.
W jednej pytano o tablicę asocjacyjną, o sortowanie, tabele mysql o klasy i oop.
Dostałem też parę zadań do wykonania. Jedne z nich dla mnie najbardziej skomplikowane chciałem wam przytoczyć.
W przyszłości ktoś może skorzysta na moich doświadczeniach,
i lepiej przygotuje się do rozmowy w sprawie pracy programisty. Powodzenia !.

 

    Wracając do tematu czyli do zadania jakie dostałem. Było opisane na dwóch kartkach A4. Treść zadania do wglądu. Załącznik pod artykułem.
Zadanie wykonałem trochę w innej kolejności niż podane to było przez autora. Ponieważ wydało mi się, że w ten sposób będzie łatwiej.
I faktycznie tak było o czym przekonałem się na końcu pisania programu. Wszystko było tak jak sobie to w początkowej fazie zaplanowałem
z niczym praktycznie nie miałem problemów.
Jedyną rzeczą, nad którą przystanąłem, to wyszukiwanie po dacie.
Wydaje się proste, ale trzeba było się chwilę zastanowić, żeby nie było wtopy ! Problem polegał na tym, że nigdy nie wyszukiwałem w PDO w LIKE,
a chciałem przepuścić dane przez „bindValue()” więc chwile się zastanawiałem. Efekt mojej pracy przedstawiam poniżej,
można tam zobaczyć jak sobie z tym problemem poradziłem. Czy dobrze te zadanie wykonałem sami oceńcie.

Zapraszam do komentowania pod artykułem.

 class_server.php

<?php /*  *  @version Komentarze zdalnie v1.0  *  @autor Adam Berger$  *  Copyright 2013 Komentarze zdalnie  *  ber34$o2.pl  * Licensed under the Apache License v2.0  * <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>  *  * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS,  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  * See the License for the specific language governing permissions and  * limitations under the License.  */

class class_server_komentarze{ /*  */      protected $Api="1234";      private $nazwa_komentarz;      private $nazwa_kategori;

 /* Dodaj zdalnie nowy komentarz do kategori */  public function nowa_kategoria_komentarz($nazwa_kategori){ $c = curl_init(); curl_setopt($c, CURLOPT_URL, 'http://localhost/praca/lib/server_client_kategoria.php'); /* adres docelowy */ curl_setopt($c, CURLOPT_POST, 1);/* przesylamy metodą post */ /* Kodujemy klucz api md5 */ curl_setopt($c, CURLOPT_POSTFIELDS, 'nazwa_kategori='.$nazwa_kategori.'&id_key='.md5($this->Api)); /* dane do wyslania */ curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); $page = curl_exec($c); if(curl_getinfo($c, CURLINFO_HTTP_CODE) === 200){  if(!empty($page)){     return $page;    }else{     return false;    } }else{     echo "blad_placzenia"; } curl_close($c); }  /* Pobierz zdalnie komentarze kategorii */  public function pobierz_kategoria(){      $URL = "http://localhost/praca/lib/server_client_pobierz_kategorie.php"; /* adres docelowy */      $c = curl_init();         curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);         curl_setopt($c, CURLOPT_URL, $URL);         $page = curl_exec($c);         if(curl_getinfo($c, CURLINFO_HTTP_CODE) === 200){  if(!empty($page)){     return $page;    }else{     return false;    } }else{     echo "blad_placzenia"; }         curl_close($c); }    /* Dodaj zdalnie nowy komentarz do kategori */  public function dodaj_komentarz($nazwa_kategori, $nazwa_komentarz){      $this->nazwa_kategori  = $nazwa_kategori;      $this->nazwa_komentarz = $nazwa_komentarz;      /*Sprawdzamy czy dane są przesłane */      if(!empty($this->nazwa_kategori) && !empty($this->nazwa_komentarz)){     $URL = "http://localhost/praca/lib/server_client_kategoria_komentarz.php";     $c = curl_init(); curl_setopt($c, CURLOPT_URL, $URL); /* adres docelowy */ curl_setopt($c, CURLOPT_POST, 1); /* przesylamy metodą post */ /* Kodujemy klucz api md5 */ curl_setopt($c, CURLOPT_POSTFIELDS, 'nazwa_kategori='.$this->nazwa_kategori.'&nazwa_komentarz='.$this->nazwa_komentarz.'&id_key='.md5($this->Api)); /* dane do wyslania */ curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); $page = curl_exec($c); /* Sprawdzenie otrzymanej odpowiedzi*/ if(curl_getinfo($c, CURLINFO_HTTP_CODE) === 200){  if(!empty($page)){     return $page;    }else{     return false;    } }else{     echo "blad_placzenia"; } curl_close($c);      }else{ return false; }    }

}     $komentarze = new class_server_komentarze;/* Wywołujemy klasę */                    $nazwa_kategori     = "Samochody"; /* Zakładamy ze taka istnieje */                  $nazwa_komentarz    = "BMW";       /* Pobieramy zdalnie wszystkie Kategorie */               $sprawdzenie = $komentarze->pobierz_kategoria();      if($sprawdzenie != false){          /* Dekodujemy dane otrzymane */         $rr = json_decode($sprawdzenie);         foreach ($rr as $value) {             if(!empty($value->kategoria)){                 /* Wyświetlamy dane otrzymane */            echo $value->id_kategoria."- id ".$value->kategoria."- kategoria data -".$value->data_kategoria." ";             }else{                 /* Można dodać id w którym brak nazwy kategorii */                 echo "Brak nazwy Kategori ";             }         }      }elseif($sprawdzenie != "brak_kategori"){          echo "Brak kategori";      }else{         echo "Błąd Połączenia";      }                 /* Dodaj zdalnie nowy komentarz  */      $sprawdzenie = $komentarze->dodaj_komentarz($nazwa_kategori, $nazwa_komentarz);      if($sprawdzenie == "ok"){          echo $sprawdzenie;      }elseif($sprawdzenie == "blad_k"){         echo "Błąd kategori";      }elseif($sprawdzenie == "blad_ko"){         echo "Błąd komentarza";      }elseif($sprawdzenie == "blad_api"){         echo "Błąd Api";      }elseif($sprawdzenie == "blad_zapytania"){         echo "Błąd Zapytania Bazy Danych ";      }else{         echo "Błąd Połączenia";      }       /* Dodaj zdalnie nowa kategorie  */     $sprawdzenie = $komentarze->nowa_kategoria_komentarz($nazwa_kategori);     if($sprawdzenie == "ok"){          echo $sprawdzenie;      }elseif($sprawdzenie == "blad_k"){         echo "Błąd kategori";      }elseif($sprawdzenie == "blad_api"){         echo "Błąd Api";      }else{         echo "Błąd Połączenia";      }

 

zadanie

 

Cały gotowy skrypt z tabelami mysql

 

 

Dodaj komentarz


Kod antyspamowy
Odśwież

Używamy cookies i podobnych technologii m.in. w celach: świadczenia usług, reklamy, statystyk. Korzystanie z witryny bez zmiany ustawień Twojej przeglądarki oznacza, że będą one umieszczane w Twoim urządzeniu końcowym. Pamiętaj, że zawsze możesz zmienić te ustawienia. To find out more about the cookies we use and how to delete them, see our privacy policy.

I accept cookies from this site.

EU Cookie Directive Module Information