PHP projektek: Hozzon létre egy közvélemény-kutatási alkalmazást

Tartalomjegyzék:

Anonim

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

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

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?

JQuery
MooToolsl
YUI Library
Glow

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.