Šioje PHP projekto , mes ketiname sukurti apklausa taikymą.
Apklausą sudarys 3 pagrindiniai komponentai;
Priekinis valdiklis - tai rodyklės puslapis, kuris nustatys įkeliamą HTML kodą. Tai užtikrins, kad mūsų programoje yra vienas įėjimo taškas. Tai leis mums labiau kontroliuoti programą.
Verslo logika - joje bus PHP kodas sąveikai su duomenų baze. Tai leis mums atskirti verslo logiką nuo pristatymo, todėl mūsų programą lengva prižiūrėti
Rodiniai - jame bus HTML kodas. Mes turėsime du puslapius;
- nuomonė.html.php - čia bus HTML kodas su klausimu ir parinktimis
- results.html.php - jame bus HTML kodas, rodantis nuomonės apklausos rezultatus
Padarytos prielaidos
Apklausoje bus užduotas klausimas -
Kokia jūsų mėgstamiausia „JavaScript“ biblioteka?
Atsakymai būtų
- JQuery
- „MooTools“
- YUI biblioteka
- Švyti
Toliau pateikiami programos sukūrimo veiksmai.
1 žingsnis) Duomenų bazių sujungimas
Šiame skyriuje pateikiamos žinios apie MySQL ir kaip ją administruoti. Jei nesate susipažinę su šiais „MySQL“, patikrinkite mūsų skyrių „SQL tutorials“.
Mūsų programoje bus tik viena lentelė su 3 laukais, būtent;
- id - automatiškai sugeneruoti numerį kaip pagrindinį raktą
- pasirinkimas - kandidato į prezidentus skaičius
- ts - laiko žymė balsavimui
Žemiau pateiktas scenarijus sukuria mūsų js_libraries lentelę.
2 žingsnis) Mūsų programos kodavimas
Dabar sukurkime savo verslo logikos sluoksnį, kuris tvarkys duomenų bazių ryšį. „nuomonės_apklausos_modelis.php“
db_handle = mysqli_connect($this->host, $this->uid, $this->pwd); //connect to MySQL serverif (!$this->db_handle) die("Unable to connect to MySQL: " . mysqli_error());if (!mysqli_select_db($this->db_handle,$this->db)) die("Unable to select database: " . mysqli_error());}private function execute_query($sql_stmt) {$result = mysqli_query($db_handle,$sql_stmt); //execute SQL statementreturn !$result ? FALSE : TRUE;}public function select($sql_stmt) {$result = mysqli_query($db_handle,$sql_stmt);if (!$result) die("Database access failed: " . mysqli_error());$rows = mysqli_num_rows($result);$data = array();if ($rows) {while ($row = mysqli_fetch_array($result)) {$data = $row;}}return $data;}public function insert($sql_stmt) {return $this->execute_query($sql_stmt);}public function __destruct(){mysqli_close($this->db_handle);}}?>
ČIA
- „Public function __construct ()“ yra klasės konstruktoriaus metodas, naudojamas duomenų bazės ryšiui užmegzti
- „Public function execute_query (…)“ - tai užklausų, tokių kaip įterpimas, atnaujinimas ir ištrynimas, vykdymo metodas
- „Public function select“ yra būdas gauti duomenis iš duomenų bazės ir grąžinti skaitinį masyvą.
- „Public function insert (…)“ yra įterpimo metodas, iškviečiantis metodą execute_query.
- „Public function __destruct ()“ yra klasės naikintuvas, uždarantis duomenų bazės ryšį.
Dabar sukurkime priekinio valdiklio index.php
alert('You did not vote!');";}if (count($_POST) > 1) {$ts = date("Y-m-d H:i:s");$option = $_POST['vote'][0];$sql_stmt = "INSERT INTO js_libraries (`choice`,`ts`) VALUES ($option,'$ts')";$model->insert($sql_stmt);$sql_stmt = "SELECT COUNT(choice) choices_count FROM js_libraries;";$choices_count = $model->select($sql_stmt);$libraries = array("", "JQuery", "MooTools", "YUI Library", "Glow");$table_rows = '';for ($i = 1; $i < 5; $i++) {$sql_stmt = "SELECT COUNT(choice) choices_count FROM js_libraries WHERE choice = $i;";$result = $model->select($sql_stmt);$table_rows .= "";}require 'results.html.php';exit;}require 'opinion.html.php';?> " . $ libraries [$i] . " Got: " . $result[0] . " votes
ČIA
- „Reikalauti 'nuomonės_apklausos_modelis.php';“ įkelia verslo logikos klasę
- „$ Model = new Opinion_poll_model ();“ sukuria verslo logikos klasės egzempliorių
- „If (count ($ _ POST) == 1)…“ atlieka duomenų tikrinimą ir naudoja „JavaScript“, kad būtų rodomas pranešimo laukelis, jei už balsavimą nebuvo kandidatu.
- „If (count ($ _ POST)> 1)…“ patikrina, ar balsas buvo pasirinktas, skaičiuojant elementų skaičių masyve $ _POST. Jei nebuvo pasirinktas joks elementas, „$ _POST“ bus tik pateiktas elementas. Jei buvo pasirinktas kandidatas, $ _POST masyvą sudarys du elementai - „Pateikti“ ir „Balsuoti“. Šis kodas taip pat naudojamas įterpti naują balsavimo įrašą ir tada parodyti rezultatų puslapį
- „Išeiti“; yra naudojamas scenarijaus vykdymui nutraukti po rezultatų parodymo, kad nebūtų rodoma nuomonės apklausos forma.
- „Reikalauti nuomonės.html.php“; “ rodo nuomonių apklausos formą, jei nieko nebuvo pasirinkta.
Dabar sukurkime peržiūras. nuomonė.html.php
JavaScript Libraries - Opinion Poll JavaScript Libraries - Opinion Poll
What is your favorite JavaScript?
rezultatai.html.php
JavaScript Libraries Poll Results Opinion Poll Results
What is your favorite JavaScript Library?
people have thus far taken part in this poll:
3 žingsnis) Mūsų programos testavimas
Darant prielaidą, kad išsaugojote failus nuomonės aplanko aplanke, eikite į URL http: // localhost / Opinionpoll /
Jei spustelėsite mygtuką Gerai nepasirinkę JS bibliotekos, gausite šį pranešimų laukelį.
Pasirinkite JS biblioteką, tada spustelėkite mygtuką Gerai. Rezultatų puslapį gausite panašų į žemiau pateiktą.
Santrauka
- Programos padalijimas į verslo logiką, priekinio valdiklio rodinio sluoksniai yra gera programų projektavimo praktika
- „JavaScript“ yra naudinga tikrinant kliento pusę
- Gera programavimo praktika yra failų, kuriuose yra HTML ir PHP kodų, naudojimas file.html.php
- Apklausos programa parodo, kaip ankstesnėse pamokose įgytos žinios gali būti sujungtos kuriant veikiančią programą su duomenų bazės galu.