Šajā PHP projektā , mēs gatavojamies, lai izveidotu viedokli aptaujas pieteikumu.
Sabiedriskās domas aptauja sastāvēs no 3 galvenajām sastāvdaļām;
Priekšējais kontrolieris - tā ir rādītāja lapa, kas noteiks ielādējamo HTML kodu. Tas nodrošinās, ka mūsu lietojumprogrammai ir viens ieejas punkts. Tas ļaus mums vairāk kontrolēt lietojumprogrammu.
Biznesa loģika - tajā būs PHP kods mijiedarbībai ar datu bāzi. Tas ļaus mums nošķirt biznesa loģiku no prezentācijas, padarot mūsu lietojumprogrammu viegli uzturamu
Skatījumi - tajā būs HTML kods. Mums būs divas lappuses, proti;
- viedoklis.html.php - tajā būs HTML kods ar jautājumu un opcijām
- results.html.php - tajā būs HTML kods, kas parāda sabiedriskās domas aptaujas rezultātus
Izteiktie pieņēmumi
Sabiedriskās domas aptauja uzdos jautājumu -
Kāda ir jūsu iecienītākā JavaScript bibliotēka?
Atbildes būtu
- JQuery
- MooTools
- YUI bibliotēka
- Svelme
Tālāk ir norādītas darbības, lai izveidotu lietojumprogrammu.
1. solis) Datu bāzes savienojamība
Šajā sadaļā tiek pieņemtas zināšanas par MySQL un to administrēšanu. Ja neesat pazīstams ar šo MySQL, pārbaudiet mūsu sadaļu SQL apmācības.
Mūsu lietojumprogrammai būs tikai viena tabula ar 3 laukiem, proti;
- id - automātiski ģenerēt numuru kā galveno atslēgu
- izvēle - skaitlis, kas pārstāv prezidenta kandidātu
- ts - balsojuma laika zīmogs
Zemāk esošais skripts izveido mūsu tabulu js_libraries.
2. solis) Mūsu pieteikuma kodēšana
Tagad izveidosim savu biznesa loģikas slāni, kas apstrādās datu bāzes savienojamību. 'Opinion_poll_model.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);}}?>
ŠEIT,
- “Public function __construct ()” ir klases konstruktora metode, ko izmanto, lai izveidotu datu bāzes savienojumu
- “Public function execute_query (…)” ir metode tādu vaicājumu izpildei kā ievietošana, atjaunināšana un dzēšana
- “Public function select” ir metode, kā iegūt datus no datu bāzes un atgriezt skaitlisku masīvu.
- “Public function insert (…)” ir ievietošanas metode, kas izsauc metodi execute_query.
- “Public function __destruct ()” ir klases iznīcinātājs, kas aizver datu bāzes savienojumu.
Tagad izveidosim priekšējā kontroliera 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
ŠEIT,
- “Pieprasīt“ viedokļa_aptaujas_modelis.php ”;” ielādē biznesa loģikas klasi
- “$ Model = new Opinion_poll_model ();” izveido biznesa loģikas klases instanci
- “If (count ($ _ POST) == 1)…” veic datu pārbaudi un izmanto JavaScript, lai parādītu ziņojuma lodziņu, ja nav nobalsots par kandidātu.
- “If (skaits ($ _ POST)> 1)…” pārbauda, vai balss ir izvēlēts, skaitot masīva $ _POST vienumu skaitu. Ja neviens vienums nav atlasīts, $ _POST saturēs tikai iesniegto vienumu. Ja ir izvēlēts kandidāts, masīvā $ _POST būs divi elementi - iesniegšanas un balsojuma vienums. Šis kods tiek izmantots arī, lai ievietotu jaunu balsojuma ierakstu un pēc tam parādītu rezultātu lapu
- "Izeja;" tiek izmantots, lai pārtrauktu skripta izpildi pēc rezultātu parādīšanas, lai netiktu parādīta sabiedriskās domas aptaujas forma.
- “Pieprasīt“ viedokli.html.php ”;” parāda sabiedriskās domas aptaujas veidlapu, ja nekas nav izvēlēts.
Tagad izveidosim skatus. viedoklis.html.php
JavaScript Libraries - Opinion Poll JavaScript Libraries - Opinion Poll
What is your favorite JavaScript?
results.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. solis) Mūsu lietojumprogrammas pārbaude
Pieņemot, ka esat saglabājis failus viedokļu aptauju mapē, pārlūkojiet vietrādi URL http: // localhost / Opinionpoll /
Noklikšķinot uz pogas Labi, neizvēloties JS bibliotēku, tiks parādīts šāds ziņojumu lodziņš.
Atlasiet JS bibliotēku un noklikšķiniet uz pogas Labi. Jūs iegūsit rezultātu lapu, kas līdzīga tai, kas parādīta zemāk.
Kopsavilkums
- Lietotnes sadalīšana biznesa loģikā, priekšējā kontroliera skata slāņi ir laba lietojumprogrammu izstrādes prakse
- JavaScript ir noderīgs klienta puses validācijas veikšanai
- Laba programmēšanas prakse ir izmantot failu.html.php failiem, kas satur gan HTML, gan PHP kodus
- Sabiedriskās domas aptaujas lietojumprogramma parāda, kā iepriekšējās nodarbībās apgūtās zināšanas var apvienot, lai izstrādātu darba lietojumprogrammu ar datubāzes aizmuguri.