PHP projektai: sukurkite nuomonės apklausos programą

Š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 .= "
" . $ libraries [$i] . " Got:" . $result[0] . " votes

";}require 'results.html.php';exit;}require 'opinion.html.php';?>

Č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?

JQuery
MooToolsl
YUI Library
Glow

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.

Įdomios straipsniai...