Ebben a PHP projekt , fogunk létrehozni egy közvélemény-kutatás alkalmazást.
A közvélemény-kutatás 3 fő összetevőből áll;
Első vezérlő - ez az indexoldal határozza meg a betölthető HTML kódot. Ez biztosítja, hogy alkalmazásunknak egyetlen belépési pontja legyen. Ezáltal jobban ellenőrizhetjük az alkalmazást.
Üzleti logika - ez tartalmazza az adatbázissal való interakció PHP kódját. Ez lehetővé teszi számunkra, hogy elkülönítsük az üzleti logikát a prezentációtól, ezáltal az alkalmazásunk könnyen karbantartható
Nézetek - ez a HTML kódot fogja tartalmazni. Két oldalunk lesz;
- vélemény.html.php - ez tartalmazza a HTML kódot a kérdéssel és a lehetőségekkel
- results.html.php - ez tartalmazza a véleménykérés eredményeit megjelenítő HTML kódot
Feltételezések
A közvélemény-kutatás felteszi a kérdést -
Mi a kedvenc JavaScript könyvtárad?
A válaszok lennének
- JQuery
- MooTools
- YUI könyvtár
- Világít
Az alkalmazás létrehozásának lépései:
1. lépés: Adatbázis-csatlakozás
Ez a szakasz feltételezi, hogy ismeri a MySQL-t és annak kezelését, ha még nem ismeri ezeket a MySQL-t, akkor nézze meg az SQL oktatóanyagok részt.
Alkalmazásunknak csak egy táblája lesz, 3 mezővel, nevezetesen;
- id - a szám automatikus létrehozása elsődleges kulcsként
- választás - az elnökjelöltet képviselő szám
- ts - a szavazás időbélyege
Az alábbi szkript létrehozza a js_libraries táblázatot.
2. lépés) Az alkalmazásunk kódolása
Most hozzuk létre az üzleti logikai réteget, amely kezeli az adatbázis-kapcsolatot. 'vélemény_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);}}?>
ITT,
- A „public function __construct ()” az osztályszerkesztő módszer, amelyet az adatbázis-kapcsolat létrehozására használnak
- A „public function execute_query (…)” az olyan lekérdezések végrehajtásának módszere, mint a beszúrás, frissítés és törlés
- A „public function select” az adatok lekérése az adatbázisból és a numerikus tömb visszaadása.
- A „public function insert (…)” az a beszúrási módszer, amely az execute_query metódust hívja meg.
- A „public function __destruct ()” az osztályromboló, amely bezárja az adatbázis-kapcsolatot.
Most hozzuk létre az elülső vezérlő index.php fájlt
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
ITT,
- „Megköveteli a„ vélemény_poll_model.php ”;” betölti az üzleti logikai osztályt
- „$ Model = new Opinion_poll_model ();” létrehoz egy példát az üzleti logikai osztályból
- Az „if (count ($ _ POST) == 1)…” elvégzi az adatok ellenőrzését, és a JavaScript használatával megjeleníti az üzenetmezőt, ha nem jelöltre szavaztak.
- Az „if (count ($ _ POST)> 1)…” ellenőrzi, hogy szavazatot választottak-e, a $ _POST tömbben lévő elemek számának megszámlálásával. Ha egyetlen elem sem lett kiválasztva, akkor a $ _POST csak a beküldött elemet tartalmazza. Ha jelöltet választottak, a $ _POST tömb két elemet tartalmaz, a beküldés és a szavazás tételt. Ezt a kódot egy új szavazási rekord beszúrására, majd az eredményoldal megjelenítésére is használják
- "kijárat;" a szkript végrehajtásának leállítására szolgál az eredmények megjelenítése után, hogy a közvélemény-kutatás űrlap ne jelenjen meg.
- „Megköveteli a„ vélemény.html.php ”;” megjeleníti a közvélemény-kutatási űrlapot, ha nem választottak ki semmit.
Most hozzuk létre a nézeteket. vélemény.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. lépés: Az alkalmazás tesztelése
Feltéve, hogy a fájlokat a véleménykérés mappába mentette, keresse meg a következő URL-t: http: // localhost / Opinionpoll /
Ha az OK gombra kattint, anélkül, hogy JS könyvtárat választana, a következő üzenetdobozt kapja.
Válasszon ki egy JS könyvtárat, majd kattintson az OK gombra. Az alábbihoz hasonló eredményoldalt kap.
Összegzés
- Az alkalmazás üzleti logikára bontása, az elülső vezérlő nézeti rétege jó alkalmazás-tervezési gyakorlat
- A JavaScript hasznos az ügyféloldali ellenőrzés elvégzéséhez
- Jó programozási gyakorlat a file.html.php használata HTML és PHP kódokat egyaránt tartalmazó fájlokhoz
- A közvélemény-kutatás alkalmazás bemutatja, hogyan lehet az előző órákon elsajátított ismereteket összerakni egy működő, adatbázis háttérrel rendelkező alkalmazás kifejlesztésére.