Bem aqui fica um tutorial que já fiz há algum tempo..não sei se já alguém postou algo do género mas fica por cá..(peço desculpa pelo tamanho e má qualidade das imagens)
Vamos ter aqui uma pequena "aula" de conecção MySQL com PHP. Todas as dúvidas poderão ser tiradas neste tópico..
- Criar uma Base de Dados MySQL (a partir do PhpMyAdmin):Para criar uma Base de Dados MySQL a partir do PhpMyAdmin basta colocar o nome no campo de inserção e clicar em "Criar", tal como na figura abaixo. Neste tutorial iremos utilizar a Base de Dados "tutorial".
Agora basta selecionar no Drop Down menu a Base de Dados que criámos, neste caso "tutorial".
- Criar uma Tabela em uma Base de Dados MySQL (a partir do PhpMyAdmin):Bem, para ter a nossa tabela selecionada (passo anterior) para podermos escolher a opção "SQL" como mostra a figura abaixo.
Depois de termos clicado na opção "SQL" vamos inserir no campo o nosso código para criarmos a tabela e os respectivos campos. Aqui nós vamos ter a tabela "tutorial" com os campos "id", "nome", "idade" e "email". Será como um formulário de registo.
Aqui coloquei o seguinte código:
CREATE TABLE tutorial (
id int(5) NOT NULL auto_increment,
nome char(30) NOT NULL ,
idade char(3) NOT NULL ,
email char(80) ,
PRIMARY KEY (id),
UNIQUE id (id)
);
Explicando:
CREATE TABLE tutorial, aqui estamos a dizer ao MySQL que queremos criar a tabela tutorial depois abrimos parenteses "(" e dizemos o que está dentro dessa tabela.
id, é o id de cada "registo" por exemplo, não é obrigatório inserir. Está com auto_increment, o que quer dizer que é inserido automáticamente e por ordem.
nome, é o nome da pessoa, temos um char(30) o que quer dizer que o limite do nome é de 30 caracteres e temos um NOT NULL que quer dizer que não pode ser nulo.
idade, é a idade da pessoa, desta vez temos um char(3) que significa que tem um limite de 3 caracteres, para uma idade claro! Também tem NOT NULL que significa o mesmo que o campo anterior.
email, é o email da pessoa, tem char(80), ou seja, limite de 80 carecteres. Desta vez não tem NOT NULL o que significa que poderá ficar em branco. Fica à escolha de cada um a criação dos campos.
PRIMARY KEY (id), aqui estamos a dizer que o primeiro campo é o id, é sempre necessário quando se usam id's.
UNIQUE id (id), aqui estamos a dizer que o campo id terá que ser único.
); <- Aqui estamos a fechar o parentese previamente aberto e a dizer que terminámos com o ";".
Se o código estiver todo correcto vamos obter o seguinte:
Então se quiserem ver como ficou podem clicar na tabela criada.
Deverá ficar com este aspecto depois de clicar na tabela criada.
OK! Temos a nossa Base de Dados e a nossa Tabela MySQL prontinhas! Vamos ao PHP!
- Inserir dados na Base de Dados a partir de um formulário em PHP:Para inserir dados a partir de um formulário temos que ter a action do formulário direcionada para o ficheiro PHP que contém isto, por exemplo (as explicações estão junto ao código):
<?php
//Abaixo vamos criar uma variável com o seguinte para inserir os dados
//Como devem reparar não temos a variável id presente, pois não é necessário por estar em auto_increment
//Passando a explicar..temos o principal código INSERT INTO tutorial que está a dizer que vamos inserir na tabela tutorial os seguintes dados dentro das variáveis da MySQL. Depois em VALUES temos as variáveis que vieram do nosso formulário..
$sql = "INSERT INTO tutorial (nome, idade, email) VALUES ('$nome', '$idade', '$email')";
//Agora é hora de contactar o MySQL para entrar na Base de dados
//Como estamos num exemplo prático, vou colocar os valores menos a password, sabem que terão que modificar
$conexao = mysql_connect("localhost", "tutorial", "password") or die ("Dados da Base de Dados incorrectos!");
$db = mysql_select_db("tutorial") or die ("Base de Dados não existente!");
//Agora o comando final, o que vai finalmente inserir todos os dados recolhidos pelo formulário e enviar para o MySQL nos respectivos campos anteriormente criados..
$sql = mysql_query($sql) or die ("Existe erros na gravação dos dados!");
//Se tudo correr bem podemos definir um echo..mas isto não é obrigatório!
echo "Todos os Dados foram gravados com sucesso na Base de Dados!";
?>
Está pronto, muito fácil não vos parece?!
- Remover dados a partir dum..campo num formulário (Por exemplo se escrevermos "SIM" no campo:<?php
//Supondo que temos um campo em um formulário em que temos que colocar "SIM" para remover o utilizador ou seja o que for previamente definido por nós em um link por exemplo. (membros.php?id=2232)
if ($remover == SIM) {
$conexao = mysql_connect("localhost","tutorial","password");
$db = mysql_select_db("tutorial");
$sql = "DELETE FROM tutorial WHERE id='2232'";
$resultado = mysql_query($sql)
or die ("Não foi possível realizar a exclusão dos dados.");
echo "Membro removido com sucesso!";
}
?>
- Alterar dados a partir de um outro formulário em que já temos a exibição dos mesmo em campos alteráveis:
<?php
//Tendo em conta que temos a exibição das variaveis gravadas no MySQL dentro de campos input text alteráveis e depois direcionamos a action deste formulário para este ficheiro.. (atenção que o nome das variáveis do formulário terão que ser diferentes do formulário principal, como nome_novo, email_novo, idade_nova...etc...)
//Vamos acabar por ficar com o que estiver dentro dos campos input text
$conexao = mysql_connect("localhost","tutorial","password");
$db = mysql_select_db("tutorial");
$sql = "UPDATE tutorial SET nome='$nome_novo',idade='$idade_nova',email='$email_novo'";
$resultado = mysql_query($sql) or die ("Não foi possível realizar a consulta à Base de Dados!");
echo "Dados Alterados com Sucesso!";
?>
- Exibir os dados que estão gravados na Base de Dados:Aqui terá que ser um ficheiro PHP completamente, claro.
<?php
//Vamos precisar conectar o MySQL novamente
$conexao = mysql_connect("localhost","tutorial","password");
$db = mysql_select_db("tutorial");
//Agora é realizar a query de busca na Base de Dados
//Vamos usar o SELECT * FROM tutorial para selecionar da tabela tutorial e não de outra qualquer e vamos utilizar ORDER BY id DESC para termos os utilizadores por exemplo, ordenados por id, com ordem descendente..
$sql = "SELECT * FROM tutorial ORDER BY id DESC";
//Agora ele vai fazer tudo o que está dentro da variável...
$resultado = mysql_query($sql)
or die ("Não foi possível realizar a consulta à Base de Dados!");
// Agora iremos "pegar" cada campo do utilizador neste caso e organizar o HTML
while ($linha=mysql_fetch_array($resultado)) {
$id = $linha["id"];
$nome = $linha["nome"];
$idade = $linha["idade"];
$email = $linha["email"];
//Usaremos um echo ou vários para mostrar uma tabela com os dados!
echo "<table width='200' border='0'>
<tr>
<td>$id</td>
<td>$nome</td>
<td>$idade</td>
<td>$email</td>
</tr>
</table>";
}
?>
DICA: Para ter em exibição uma variável dentro de um campo input text em um formulário temos que ter o seguinte (apenas para conecções com MySQL, NÃO FUNCIONA com hidden input text nem variáveis de links, para tal tem que ser de outra maneira):
1 - Selecionamos a Base de Dados e de seguida selecionamos a variável com os dados que queremos.
2 - No código fonte do input text respectivo colocamos o seguinte, como no exemplo:
<input type=text value="<?=$nome?>" name="nome" id="nome">
3 - Caso não queiram que o campo possa ser editado basta adicionar um "readonly" ficando:
<input type=text value="<?=$nome?>" name="nome" id="nome" readonly>
Espero que tenham aprendido algo, não coloquei os sources dos formulários porque, para quem quer utilizar PHP e MySQL tem que pelo menos saber utilizar PHP e HTML como deve ser, isto não é um tutorial para PRINCIPIANTES! Fica o aviso!
Qualquer dúvida pode ser colocada aqui!
Todo este tutorial foi elaborado por mim, OFFICER. Caso queiras colocá-lo em algum lado respeita os créditos.