fundacja tvn joomla-cms.com.pl
A+ A A-

Praca Programisty

  • Kategoria: Praca Programista
  • Opublikowano: piątek, 11, październik 2013 16:35
  • Super User
  • Odsłony: 34332

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ż

 Pozycjonowanie-Joomla, seo-joomla Tworzenie-Sitemap-joomla, TG-Chmura-Tagów, rs-rules-security Admin-Login-Security, joomla Licencja-Drupal, Licencja-ZenCart, Licencja-GPL2, Licencja-GPL3 Creative-Commons-License, joomla-2.5.x Kalendarz-Celtycki data-zodiak-data-majowie, moduł-GA-Gadu-gg, Moduł-Lotto-joomla K2-joomla Moduł-Kodownik-joomla kontakt-admin-3-pl Moduł-miłość-joomla Moduł-minutnik-joomla Google-Gadżet-strona-www Moduł-Multi-AnalogClock-joomla Grafika-Wektorowa-joomla Pascal-podstawy Pascal-instrukcja-if Pascal-pętla-for Pascal-Pętla-white-Repet Pascal-Instrukcja-Case Pascal Pascal-record Pascal-Tablice-(Macierze) Kolory-w-Pascalu Systemy-Liczbowe-10-16-8 Pak-top10-głosowanych-jQuery Waga-Bmi BF-Bear-Form Joomla+2.5+captcha+google BSD joomla, MP3 Creating, SEO, Admin tg RS BF The Celtic Forever Création Erstellen Toujours Immer Multi Contact-Admin-3-EN Contact-Admin-3-fr Contact-Admin-3-DE Open-Software-License-v.3.0-(OSL-3.0) System Interfejsy Mozilla joomla-metadane, seo-katalogi, wymiana Slider aukcjoner, Informator Osiemnaście CiastkoPl sem, Class Class-PDO-session login, registerUserClass, index PHP PDO, Class-ResponsiveCss zarabiarka-allegro Pogodynka Pogodynka Praca-Programisty Praca Funkcja-if Special+Arguments Simple-Captchta Jquery, Od 2 Konfiguracja 4.Instalacja 5.Konfiguracja 6.Instalacja 7.Konfiguracja 8.Metadane 9.Optymalizacja 10.Ciasteczka 11.System 12.Diagnostyka 13.Sesja Klasa Książka responsive Uniwersal Dodatek GoogAd.v1.4-polish-utf-8 Error Cooki Funkcje Linki Google Kompresja pdf, Dynamiczne template wycena Twoja Separation reklama ssd, bezpieczeństwo wzorce rekrutacja Zastosowanie Urządzenia Portale chat, dyski Platformy QUIZ 

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