ПХП пројекти: Направите апликацију за испитивање јавног мњења

Преглед садржаја:

Anonim

У овом ПХП пројекту , ћемо створити апликацију јавног мњења.

Анкета ће се састојати од 3 главне компоненте;

Предњи контролер - ово је индексна страница која ће одредити ХТМЛ код који ће се учитати. Ово ће осигурати да наша апликација има једну улазну тачку. Ово ће нам дати већу контролу над апликацијом.

Пословна логика - садржи ПХП код за интеракцију са базом података. То ће нам омогућити да пословну логику одвојимо од презентације, што чини нашу апликацију једноставном за одржавање

Прегледи - ово ће садржати ХТМЛ код. Имаћемо две странице, наиме;

  • опинион.хтмл.пхп - ово ће садржати ХТМЛ код са питањем и опцијама
  • ресултс.хтмл.пхп - ово ће садржати ХТМЛ код који приказује резултате анкете

Изнесене претпоставке

Анкета јавног мњења поставиће питање -

Која је ваша омиљена ЈаваСцрипт библиотека?

Одговори би били

  • ЈКуери
  • МооТоолс
  • Библиотека ИУИ
  • Сјај

Ево корака за креирање апликације -

Корак 1) Повезивање базе података

Овај одељак претпоставља знање о МиСКЛ-у и како да се њиме администрира, ако нисте упознати са овим МиСКЛ-ом, погледајте наш одељак са упутствима за СКЛ.

Наша апликација имаће само једну табелу са 3 поља, наиме;

  • ид - аутоматски генериши број као примарни кључ
  • избор - број који представља председничког кандидата
  • тс - временска ознака за гласање

Скрипта испод ствара нашу јс_либрариес табелу.

Корак 2) Кодирање наше апликације

Хајде сада да креирамо наш слој пословне логике који ће се бавити повезивањем базе података. 'опинион_полл_модел.пхп'

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);}}?>

ОВДЕ,

  • „Јавна функција __цонструцт ()“ је метода конструктора класе која се користи за успостављање везе базе података
  • „Јавна функција екецуте_куери (…)“ је метода за извршавање упита попут уметања, ажурирања и брисања
  • „Одабир јавне функције“ је метода за преузимање података из базе података и враћање нумеричког низа.
  • „Уметак јавне функције (...)“ је метода уметања која позива методу екецуте_куери.
  • „Јавна функција __деструцт ()“ је деструктор класе који затвара везу базе података.

Креирајмо сада предњи контролер индек.пхп

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';?>

ОВДЕ,

  • „Захтевају 'опинион_полл_модел.пхп';" учитава класу пословне логике
  • „$ Модел = нев Опинион_полл_модел ();“ креира инстанцу класе пословне логике
  • „Иф (цоунт ($ _ ПОСТ) == 1) ...“ врши проверу података и користи ЈаваСцрипт за приказ оквира са поруком ако није изабран кандидат.
  • „Иф (цоунт ($ _ ПОСТ)> 1) ...“) проверава да ли је глас одабран бројањем броја ставки у пољу $ _ПОСТ. Ако није изабрана ниједна ставка, $ _ПОСТ ће садржати само ставку за слање. Ако је изабран кандидат, низ $ _ПОСТ састојаће се од два елемента, ставке за предају и гласање. Овај код се такође користи за уметање новог записа о гласању, а затим приказивање странице са резултатима
  • „Излаз;“ користи се за прекид извршавања скрипте након приказивања резултата тако да образац за испитивање јавног мњења није приказан.
  • „Захтевају 'опинион.хтмл.пхп';“ приказује образац за испитивање јавног мњења ако ништа није изабрано.

Хајде сада да креирамо погледе. мишљење.хтмл.пхп

JavaScript Libraries - Opinion Poll

JavaScript Libraries - Opinion Poll

What is your favorite JavaScript?

JQuery
MooToolsl
YUI Library
Glow

ресултс.хтмл.пхп

JavaScript Libraries Poll Results

Opinion Poll Results

What is your favorite JavaScript Library?

people have thus far taken part in this poll:

Корак 3) Тестирање наше апликације

Под претпоставком да сте датотеке сачували у фолдеру за анкете, потражите УРЛ хттп: // лоцалхост / опинионполл /

Ако кликнете на дугме Ок без одабира ЈС библиотеке, добићете следеће поље са поруком.

Изаберите ЈС библиотеку, а затим кликните на дугме ОК. Добићете страницу резултата сличну оној приказаној доле.

Резиме

  • Подјела ваше апликације на пословну логику, слојеви погледа предњег контролера добра је пракса дизајнирања апликација
  • ЈаваСцрипт је користан за вршење провјере на страни клијента
  • Добра је пракса програмирања да се филе.хтмл.пхп користи за датотеке које садрже и ХТМЛ и ПХП кодове
  • Апликација за испитивање јавног мњења показује како се знање научено у претходним лекцијама може спојити у развој радне апликације са позадином базе података.