← Tutoriais

[MySQL & PHP] Conecções!

Lida 4389 vezes

Offline

OFFICER 
Membro
Mensagens 2076 Gostos 0
Troféus totais: 29
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

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:

Código: [Seleccione]
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):

Código: [Seleccione]
<?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 &#40;nome, idade, email&#41; VALUES &#40;'$nome', '$idade', '$email'&#41;";

//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&#40;"localhost", "tutorial", "password"&#41; or die &#40;"Dados da Base de Dados incorrectos!"&#41;;

$db mysql_select_db&#40;"tutorial"&#41; or die &#40;"Base de Dados não existente!"&#41;;

//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&#40;$sql&#41; or die &#40;"Existe erros na gravação dos dados!"&#41;;

//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:

Código: [Seleccione]
<?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. &#40;membros.php?id=2232&#41;

if &#40;$remover == SIM&#41; &#123;

$conexao mysql_connect&#40;"localhost","tutorial","password"&#41;;
$db mysql_select_db&#40;"tutorial"&#41;;
$sql "DELETE FROM tutorial WHERE id='2232'";
$resultado mysql_query&#40;$sql&#41;
or die &#40;"Não foi possível realizar a exclusão dos dados."&#41;;

echo "Membro removido com sucesso!";

&
#125;

?>




- Alterar dados a partir de um outro formulário em que já temos a exibição dos mesmo em campos alteráveis:
Código: [Seleccione]

<?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.. &#40;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...&#41;

//Vamos acabar por ficar com o que estiver dentro dos campos input text

$conexao mysql_connect&#40;"localhost","tutorial","password"&#41;;
$db mysql_select_db&#40;"tutorial"&#41;;
$sql "UPDATE tutorial SET nome='$nome_novo',idade='$idade_nova',email='$email_novo'";
$resultado mysql_query&#40;$sql&#41; or die &#40;"Não foi possível realizar a consulta à Base de Dados!"&#41;;

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.

Código: [Seleccione]
<?php

//Vamos precisar conectar o MySQL novamente

$conexao mysql_connect&#40;"localhost","tutorial","password"&#41;;
$db mysql_select_db&#40;"tutorial"&#41;;

//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&#40;$sql&#41;
or die &#40;"Não foi possível realizar a consulta à Base de Dados!"&#41;;

// Agora iremos "pegar" cada campo do utilizador neste caso e organizar o HTML

while &#40;$linha=mysql_fetch_array&#40;$resultado&#41;&#41; &#123;

$id $linha["id"&#93;;
$nome $linha["nome"&#93;;
$idade $linha["idade"&#93;;
$email $linha["email"&#93;;

//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>"
;

&
#125;

?>


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:

Código: [Seleccione]
<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:

Código: [Seleccione]
<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.
Offline

[A]visaPT 
Membro
Mensagens 256 Gostos 0
Troféus totais: 26
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts 50 Posts

Bom tutorial da imenso jeito :wink:
Offline

cenourinha 
Elite
Mensagens 4094 Gostos 21
Troféus totais: 34
Trófeus: (Ver todos)
Mobile User Apple User Level 6 Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4

Porreiro, isso é muito bom, e podesmos ver como é facil aprender php!
Com isto podemos fazer muitas coisas!

Tanks ai!
 :D
Offline

OFFICER 
Membro
Mensagens 2076 Gostos 0
Troféus totais: 29
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

LOL epá..eu até fazia mais mas não sei por onde começar  :|
Offline

fpware 
Fundador
Mensagens 15318 Gostos 6
Troféus totais: 38
Trófeus: (Ver todos)
Linux User Mobile User Level 6 Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5

Excelente tutorial OFFICER! Muito obrigado! :D
Offline

OFFICER 
Membro
Mensagens 2076 Gostos 0
Troféus totais: 29
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

Assim deixas-me envergonhado  :oops:

LOOOOOOOOL  :twisted:
Offline

fpware 
Fundador
Mensagens 15318 Gostos 6
Troféus totais: 38
Trófeus: (Ver todos)
Linux User Mobile User Level 6 Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5

a verdade é para se dizer!