Criação de Páginas Web - Página dos Professores

Propaganda
PHP
• SQL / MySQL
• Ligação a base de dados
• Selecção e visualização de registos
• Adicionar, Eliminar, Pesquisar e Editar registos
Acesso a bases de dados
com PHP
1.º - Captar os dados
2.º - Estabelecer a ligação
3.º - Aplicar um comando SQL
4.º - Preparar os dados obtidos
Principais funções com suporte ao
MySQL
improved
mysqli_connect - Estabelece uma ligação ao servidor
ex.: $ligax = mysqli_connect('localhost', 'root', ‘password');
mysqli_select_db - Selecciona uma base de dados
ex.: mysqli_select_db($ligax, 'vendas');
mysqli_query - Interroga uma base de dados
ex.: mysqli_query($ligax, $insere);
mysqli_num_rows - Devolve n.º de registos resultantes de uma
consulta.
ex.: $nregistos = mysqli_num_rows($result);
mysqli_fetch_assoc - Guarda num array o resultado de uma
consulta.
ex.:
for ($i=0; $i <$nregistos; $i++) {
$registo = mysqli_fetch_assoc($result);
echo '<tr> <td>' .$registo['CodCli']. '</td>';
echo
'<td>' .$registo['Nome']. '</td>';
echo
'<td>' .$registo['Morada']. '<td>
</tr>'; }
Exemplo
Servidor
BD vendas
Browser
PHP
Clientes
Encomendas
Fornecedores
Artigos
Ficheiro ligacao.php
$host = 'localhost';
$user = 'root';
$pwd = '';
$db = ‘dados';
$ligax=mysqli_connect($host, $user, $pwd) or
die ('Não conseguiu fazer a conexão ao servidor');
mysqli_select_db($ligax,$db);
<?php include (‘ligacao.php’);?>
Listar dados de uma BD
LISTAR
<html>
<head> <title> Listar Clientes </title> </head>
<body> <h2> Lista de clientes: </h2> <br>
<?php
$ligax = mysqli_connect('localhost', 'root', '');
if (!$ligax) {echo '<p> Falha na ligação.';}
mysqli_select_db($ligax, 'vendas');
$consulta = "Select * From Clientes";
$result = mysqli_query($ligax, $consulta);
$nregistos = mysqli_num_rows($result);
echo "Nº de registos encontrados: $nregistos ";
?>
<br> <table border="1">
<tr><td> Codigo: <td> Nome: <td> Morada: </tr>
<?php
for ($i=0; $i <$nregistos; $i++) {
$registo = mysqli_fetch_assoc($result);
echo '<tr>';
echo '<td>'.$registo['CodCli'].'</td>';
echo '<td>'.$registo['Nome'].'</td>';
echo '<td>'.$registo['Morada'].'<td>';
echo '</tr>'; echo '</p>';
}
?>
</table> <br> <a href="index.htm">Voltar à entrada</a>
</body>
</html>
Pesquisar dados numa BD
PESQUISAR
Código php para pesquisar dados da tabela
<html> <head> <title>Mostrar</title> </head>
<body> <h3>Mostrar cliente procurado</h3>
<?php /*pesquisa.php*/
$nomeproc = $_POST['nome'];
if (!$nomeproc)
{echo "Volte atrás e escreva o nome.";}
echo "<p>Nome procurado: $nomeproc. </p>";
$ligax = mysqli_connect('localhost', 'root','');
if (!$ligax){echo "<p> Falha na ligação."; exit; }
mysqli_select_db($ligax, 'vendas');
$procura = "Select * from clientes
where nome like ‘ %".$nomeproc."% ‘ ";
$result = mysqli_query($ligax, $procura);
$nregistos = mysqli_num_rows($result);
echo "Nº de registos encontrados: $nregistos";
?>
<table border="1">
<tr><td> Codigo: <td> Nome: <td> Morada: </tr>
<?php
for ($i=0; $i <$nregistos; $i++) {
$registo = mysqli_fetch_assoc($result);
echo '<tr> <td>' .$registo['CodCli']. '</td>';
echo
'<td>' .$registo['Nome']. '</td>';
echo
'<td>' .$registo['Morada']. '<td> </tr>'; }
?> </table>
<p> <a href="listar.php"> Listar registos </a>
</body></html>
Adicionar dados a uma BD
ADICIONAR
<html>
<head> <title> Inserir </title> </head>
<body> <h2> Novo cliente </h2>
<?php /*inserir.php*/
$cod = $_POST['codcli'];
$nome = $_POST['nome'];
$morada = $_POST['morada'];
echo 'Dados recebidos: <br />';
echo 'Código: '.$cod.'<br />';
echo 'Nome: '.$nome.'<br />';
echo 'Morada: '.$morada.'<br />';
$ligax = mysqli_connect('localhost', 'root', '');
if (!$ligax) {echo '<p> Erro: Falha na ligação.'; exit;}
mysqli_select_db($ligax, 'vendas');
$insere = “ INSERT INTO clientes ( CodCli, Nome, Morada )
VALUES (‘ ".$cod.“ ‘ , ‘ ".$nome.“ ‘ , ‘ ".$morada.“ ‘ )";
$result = mysqli_query($ligax, $insere);
if ($result==1) echo "<p>Dados inseridos<br>";
else "<p>Dados não inseridos<br>";
?>
<p> <a href="index.htm">Voltar à entrada</a>
<p> <a href="listar.php">Listar clientes</a>
</body>
</html>
Eliminar dados numa BD
ELIMINAR
<html>
<head> <title> Remover </title> </head>
<body> <h2> Remover cliente </h2>
<?php
$codrem = $_POST['codcli'];
if (!$codrem) {echo 'Volte atrás e escreva o código do cliente a remover.'; }
echo "Cliente a remover: $codrem. <p>";
$ligax = mysqli_connect('localhost', 'root','');
if (!$ligax){echo "<p> Falha na ligação."; exit; }
mysqli_select_db($ligax, 'vendas');
$consulta = "Select * From Clientes";
$result = mysqli_query($ligax, $consulta);
$nr_antes = mysqli_num_rows($result);
$remove = "delete from clientes
where codcli =‘ ".$codrem." ' ";
$result = mysqli_query($ligax, $remove);
if ($result==0) echo "<p>Não removido<br>";
$consulta = "Select * From Clientes";
$result = mysqli_query($ligax, $consulta);
$nr_depois = mysqli_num_rows($result);
$nr_removidos = $nr_antes - $nr_depois;
echo 'Nº de registos removidos: '.$nr_removidos;
?>
<p> <a href="listar.php"> Listar registos </a>
</body> </html>
Exemplos de validações em PHP
 if ($pass!=$conf_pass || $pass=="") { $flag=true; $flag_pass=true;
}
 if (!preg_match ("/^[0-9]{4}[\-][0-9]{3}$/",$cod_postal)) { $flag=true;
$flag_cod_postal=true;
}
 if (!preg_match ("/^[0-9]{4}$/",$ano_nasc)) { $flag=true;
$flag_ano_nasc=true;
}
 if (!preg_match ("/^[0-9]{9,12}$/",$telefone)) { $flag=true;
$flag_telefone=true;
}
Download