Um aplicativo simples de lista de tarefas que recebe tarefas enviadas pelo usuário em um formulário e as salva em um banco de dados MySQL. As tarefas também são recuperadas do banco de dados e exibidas na página da Web com um botão de exclusão ao lado de cada tarefa. Quando o botão de exclusão é clicado, a tarefa é excluída do banco de dados.
É isso que vamos construir neste tutorial.
Como de costume, vamos criar nosso banco de dados. Crie um banco de dados chamado todo e nela, crie uma tabela chamada tarefas. A tabela de tarefas tem apenas dois campos, a saber:
- id - int(10)
- tarefa - varchar(255)
Agora crie dois arquivos:
- index.php
- estilo.css
Abra-os em um editor de texto e cole o seguinte código dentro do arquivo index.php:
<!DOCTYPE html>
<html>
<head>
<title>ToDo List Application PHP and MySQL</title>
</head>
<body>
<div class="heading">
<h2 style="font-style: 'Hervetica';">ToDo List Application PHP and MySQL database</h2>
</div>
<form method="post" action="index.php" class="input_form">
<input type="text" name="task" class="task_input">
<button type="submit" name="submit" id="add_btn" class="add_btn">Add Task</button>
</form>
</body>
</html>
Se você visualizar sua página agora no navegador, será algo assim:
Vamos adicionar o estilo. Diretamente sob a tag
<link rel="stylesheet" type="text/css" href="style.css">
Abra o arquivo style.css que criamos anteriormente e cole este código de estilo nele:
.heading{
width: 50%;
margin: 30px auto;
text-align: center;
color: #6B8E23;
background: #FFF8DC;
border: 2px solid #6B8E23;
border-radius: 20px;
}
form {
width: 50%;
margin: 30px auto;
border-radius: 5px;
padding: 10px;
background: #FFF8DC;
border: 1px solid #6B8E23;
}
form p {
color: red;
margin: 0px;
}
.task_input {
width: 75%;
height: 15px;
padding: 10px;
border: 2px solid #6B8E23;
}
.add_btn {
height: 39px;
background: #FFF8DC;
color: #6B8E23;
border: 2px solid #6B8E23;
border-radius: 5px;
padding: 5px 20px;
}
table {
width: 50%;
margin: 30px auto;
border-collapse: collapse;
}
tr {
border-bottom: 1px solid #cbcbcb;
}
th {
font-size: 19px;
color: #6B8E23;
}
th, td{
border: none;
height: 30px;
padding: 2px;
}
tr:hover {
background: #E9E9E9;
}
.task {
text-align: left;
}
.delete{
text-align: center;
}
.delete a{
color: white;
background: #a52a2a;
padding: 1px 6px;
border-radius: 3px;
text-decoration: none;
}
Se atualizarmos nosso navegador agora, obteremos isso:
Agora escrevemos o código para salvar a tarefa enviada no banco de dados.
No topo do arquivo index.php, antes da primeira linha, adicione este código:
<?php
// initialize errors variable
$errors = "";
// connect to database
$db = mysqli_connect("localhost", "root", "", "todo");
// insert a quote if submit button is clicked
if (isset($_POST['submit'])) {
if (empty($_POST['task'])) {
$errors = "You must fill in the task";
}else{
$task = $_POST['task'];
$sql = "INSERT INTO tasks (task) VALUES ('$task')";
mysqli_query($db, $sql);
header('location: index.php');
}
}
// ...
O que isso faz é que, se o usuário clicar no botão enviar, a tarefa é salva no banco de dados. No entanto, se nenhuma tarefa foi preenchida no formulário, o valor da variável $errors será definido como 'você deve preencher a tarefa'. Mas isso não é exibido. Vamos exibi-lo.
Vamos colar este código dentro do formulário. Diretamente sob a tag de fechamento do formulário:
//...
// </form>
<table>
<thead>
<tr>
<th>N</th>
<th>Tasks</th>
<th style="width: 60px;">Action</th>
</tr>
</thead>
<tbody>
<?php
// select all tasks if page is visited or refreshed
$tasks = mysqli_query($db, "SELECT * FROM tasks");
$i = 1; while ($row = mysqli_fetch_array($tasks)) { ?>
<tr>
<td> <?php echo $i; ?> </td>
<td class="task"> <?php echo $row['task']; ?> </td>
<td class="delete">
<a href="index.php?del_task=<?php echo $row['id'] ?>">x</a>
</td>
</tr>
<?php $i++; } ?>
</tbody>
</table>
Se inserirmos uma tarefa no formulário e clicarmos no botão enviar, obtemos isto:
Bom!
Vamos fazer nosso botão delete funcionar. Na parte superior da página, após o bloco if que salva a tarefa no banco de dados, adicione este código:
// delete task
if (isset($_GET['del_task'])) {
$id = $_GET['del_task'];
mysqli_query($db, "DELETE FROM tasks WHERE id=".$id);
header('location: index.php');
}
?>
Isso é tudo. Se clicarmos no pequeno botão 'x' agora em uma tarefa, essa tarefa será excluída do banco de dados.
Conclusão
Espero que isso ajude você. Um recurso que eu recomendo que você adicione neste aplicativo apenas para exercitar ainda mais suas habilidades é adicionar o recurso de edição, onde uma postagem pode ser atualizada mesmo depois de criada. Dica:siga meu tutorial sobre CRUD: Crie, edite, atualize e exclua postagens com o banco de dados MySQL
Obrigado :D