Projetos PHP: Crie um aplicativo de pesquisa de opinião

Índice:

Anonim

Neste projeto PHP , vamos criar um aplicativo de pesquisa de opinião.

A pesquisa de opinião consistirá em 3 componentes principais;

Controlador frontal - esta é a página de índice que determinará o código HTML a ser carregado. Isso garantirá que nosso aplicativo tenha um único ponto de entrada. Isso nos dará mais controle sobre o aplicativo.

Lógica de negócios - conterá o código PHP para interagir com o banco de dados. Isso nos permitirá separar a lógica de negócios da apresentação, tornando nosso aplicativo fácil de manter

Visualizações - conterá o código HTML. Teremos duas páginas a saber;

  • Opinion.html.php - contém o código HTML com a pergunta e opções
  • results.html.php - conterá o código HTML que exibe os resultados da pesquisa de opinião

Suposições feitas

A pesquisa de opinião fará a pergunta -

Qual é a sua biblioteca JavaScript favorita?

As respostas seriam

  • JQuery
  • MooTools
  • Biblioteca YUI
  • Brilho

Aqui estão as etapas para criar o aplicativo -

Etapa 1) Conectividade de banco de dados

Esta seção pressupõe conhecimento de MySQL e como administrá-lo. Se você não estiver familiarizado com o MySQL, verifique nossa seção de tutoriais de SQL.

Nosso aplicativo terá uma tabela apenas com 3 campos a saber;

  • id - número gerado automaticamente como a chave primária
  • escolha - o número que representa um candidato presidencial
  • ts - o carimbo de data / hora para a votação

O script abaixo cria nossa tabela js_libraries.

Etapa 2) Codificando nosso aplicativo

Vamos agora criar nossa camada de lógica de negócios que tratará da conectividade do banco de dados. '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);}}?>

AQUI,

  • “Public function __construct ()” é o método construtor de classe que é usado para estabelecer a conexão com o banco de dados
  • “Public function execute_query (…)” é o método para executar consultas como inserir, atualizar e excluir
  • “Seleção de função pública” é o método para recuperar dados do banco de dados e retornar uma matriz numérica.
  • “Inserção de função pública (…)” é o método de inserção que chama o método execute_query.
  • “Public function __destruct ()” é o destruidor da classe que fecha a conexão do banco de dados.

Vamos agora criar o front controller 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';?>

AQUI,

  • “Require 'Opinion_poll_model.php';” carrega a classe de lógica de negócios
  • “$ Model = new Opinion_poll_model ();” cria uma instância da classe de lógica de negócios
  • “If (count ($ _ POST) == 1)…” executa a validação de dados e usa JavaScript para exibir uma caixa de mensagem se nenhum candidato tiver sido votado.
  • “If (count ($ _ POST)> 1)…” verifica se um voto foi selecionado contando o número de itens no array $ _POST. Se nenhum item foi selecionado, o $ _POST conterá apenas o item enviado. Se um candidato foi escolhido, o array $ _POST terá dois elementos, o item enviar e votar. Este código também é usado para inserir um novo registro de voto e, em seguida, exibir a página de resultados
  • "saída;" é usado para encerrar a execução do script após a exibição dos resultados, para que o formulário de pesquisa de opinião não seja exibido.
  • “Require 'Opinion.html.php';” exibe o formulário de pesquisa de opinião se nada tiver sido selecionado.

Vamos agora criar as visualizações. Opinion.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:

Etapa 3) Testar nosso aplicativo

Supondo que você salvou os arquivos na pasta opinionpoll, navegue até o URL http: // localhost / opinionpoll /

Se você clicar no botão Ok sem selecionar uma biblioteca JS, receberá a seguinte caixa de mensagem.

Selecione uma biblioteca JS e clique no botão OK. Você obterá a página de resultados semelhante à mostrada abaixo.

Resumo

  • Dividir seu aplicativo em lógica de negócios, camadas de visão do controlador frontal é uma boa prática de design de aplicativo
  • JavaScript é útil para realizar validação do lado do cliente
  • É uma boa prática de programação usar file.html.php para arquivos que contêm códigos HTML e PHP
  • O aplicativo de pesquisa de opinião demonstra como o conhecimento aprendido nas lições anteriores pode ser reunido para desenvolver um aplicativo funcional com um back-end de banco de dados.