CARREGAR REGISTROS DE UM BANCO DE DADOS EM UMA COMBOBOX [PHP/MYSQL]


Boa tarde galera, hoje iremos cadastrar algumas informações no banco de dados MYSQL e carrega-las em um combobox.


OBS.: Caso não possua, clique nos links acima.
  
Inicialmente iremos criar o banco de dados, depois criaremos o arquivo de conexão com o banco e as páginas responsáveis por cadastrar as informações:

No Mysql:

mysql -uroot;

//Cria o banco de dados escola;
CREATE DATABASE escola;

//Passa a mecher no banco escola
USE escola;


//Cria tabela aluno com os campos aluno_id inteiro, auto incremental e primario, nome alphanumérico e professor booleano (verdadeiro ou falso)
CREATE TABLE aluno (aluno_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(40), professor BOOLEAN);
 

//Cria tabela materias com os campos materia_id inteiro, auto incremental e primario, nome texto e aluno_id inteiro que é referenciado com o campo aluno_id da tabela aluno
CREATE TABLE materias (materia_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(30), aluno_id INT, CONSTRAINT materias_aluno_id_fk FOREIGN KEY (aluno_id) REFERENCES aluno(aluno_id));

Este arquivo terá o nome de conexao.php:

<?php

//Cria 3 variaveis as informações de conexão:Variavel guarda local de acesso ao MySQL (repare que os números que estão ali são da porta de acesso que foi configurado na instalação do MySQL).
$host="localhost:5433";

//Variavel guarda usuário de acesso ao banco de dados.
$user="root";

//Variavel guarda senha do usuário.
$password="";

//Cria a variavel “$con” usa a função mysql_connect e em caso de erro na conexão retorna uma mensagem informando a falha.
$con = mysql_connect ($host,$user,$password) or die ("Não foi possível se conectar ao banco de dados");

//Seleciona o banco de dados que será feita a conexão
mysql_select_db("escola");
?>

Este arquivo terá o nome de cad_aluno.php:
<html> <!--Tag inicia um codigo HTML-->
<head> <!--Tag inicia cabeçalho da página-->
<title>TechLiveBR - Carregando um COMBOBOX</title> <!--Titulo da página-->
</head> <!--Tag fecha cabeçalho-->
<body> <!--Tag inicia o conteudo da página (corpo da página)-->

<form name="cad_alu" method="POST" action="rec.php"> <!-- Tag inicia um novo formulário usando a variavel global "POST" enviando as informações para a página "rec.php"-->
<label>Cadastrar aluno:</label></BR><!--Cria um rótulo de descrição do campo.-->
<input name="nome" type="text" maxlength="30" id="nome"></BR><!--Cria um campo de tipo texto(text) com limite de 30 caracteres-->
<label>Professor?</label><!--Cria um rótulo com descrição da caixa-->
<input name="prof" type="checkbox" id="prof"></BR><!--Cria um campo do tipo caixa (checkbox)-->
<input name="btn_cad_aluno" type="submit" value="Enviar"><!--Cria botão que envia as informações do form-->
</form><!--Fecha a tag form-->
</body><!--Fecha o corpo-->
</html><!--Fecha a tag html-->

Este arquivo terá o nome de rec.php:
<?php //Inicia um codigo PHP

require_once "conexao.php"; // Chama e faz conexão com o banco de dados.

$nome = $_POST['nome']; //Variavel $nome recebe da variavel global POST o que foi digitado no campo nome e o que está entre conchetes é a propriedade name do campo texto no HTML.
if (!empty($_POST['prof'])){ //Verificar se a caixa esta vindo vazia, se estiver vazia a variável $prof será 1 (true) senão será 0 (false)
$prof = "1"; //True
} else {
$prof = "0"; //False
}

$sql = "INSERT INTO aluno (nome, professor) VALUES ('$nome', '$prof')"; 
// Armazena na variável $sql uma inserção na tabela aluno com os valores que estão nas variaveis acima

mysql_query ($sql); // Executa o conteudo da variável $sql no banco de dados

mysql_close($con); //Fecha a conexão com o banco

echo "Aluno cadastrado com sucesso!"; echo "</BR>"; //Mostra na tela a mensagem que foi cadastrado com sucesso e pula uma linha.
echo "</BR>"; //Pula uma linha
echo "<a href='http://localhost/escola/cad_aluno.php'>Cadastrar aluno</a>" ; echo "</BR>"; //Cria um link voltar para a página de cadastro de aluno e pula uma linha
echo "<a href=http://localhost/escola/cad_materias.php>Cadastrar materias...</a>"; echo "</BR>"; //Cria um link para cadastrar materias e pula uma linha
?> <!--Termina um codigo PHP-->

Este arquivo terá o nome de cad_materias.php:

<html> <!--Inicia um código HTML-->
<head> <!--Inicia cabeçalho da página-->
<title>TechLiveBR - Carregando um COMBOBOX</title> <!--Titulo da página-->
</head> <!--Fecha cabeçalho-->
<body> <!--Inicia conteúdo da página (corpo da página)-->
<form name="cad_mat" method="POST" action="rec1.php"> <!--Inicia um novo formulário usando a variável global "POST" enviando as informações para a página "rec1.php"-->
<label>Cadastrar de materias:</label></BR> <!--Cria um rótulo com descrição do campo "nome" da matéria-->
<input name="nome" type="text" maxlength="30"></BR> <!--Cria um campo de tipo texto(text) com limite de 30 caracteres-->
<select name="nome-prof" id="nome-prof"> <!--Inicia a criação de um combobox-->
<option value="0">Selecione...</option> <!--Cria nova opção do combobox-->

<?php
//Inicia código PHP
require_once "conexao.php"; //Chama e faz conexão com o banco de dados.

$sql = "SELECT aluno_id, nome FROM aluno WHERE professor = 1"; //Armazena na variável $sql uma consulta na tabela aluno pegando os campos aluno_id e nome onde o campo professor = 1 (true)

$qry_exec = mysql_query($sql); //Executa a variável $sql no banco de dados guardando o resultado na variável $qry_exec

mysql_close($con); // Fecha a conexão com o banco

$row = mysql_num_rows($qry_exec); //Função mysql_num_rows conta a quantidade de linhas armazenadas na variável $qry_exec e armazena o resultado na variável $row

$i = 0; //Cria a variável $i com valor 0

while ($i < $row){ //Cria um looping (laço de repetição) que roda enquanto a variável $i for menor que a variável $row
while ($result = mysql_fetch_array($qry_exec)){ //Cria outro laço (segundo) de repetição que percorre a variável $qry_exec jogando na variável $result o resultado de cada linha até chegar no fim do conteúdo
$id = $result['aluno_id']; //Guarda na variável $id o conteúdo da variável $result na posição que se encontra o resultado do campo aluno_id
$nome = $result['nome']; //Guarda na variável $nome o conteúdo da variável $result na posição que se encontra o resultado do campo nome
echo "<option value=".$id.">".$nome."</option>"; // Mostra na tela uma nova opção do combobox colocando na propriedade value o conteúdo da variável $id e na descrição o conteúdo da variável nome
$i++; //Incrementa +1 na variável $i
} // Fecha o segundo laço
} //Fecha o primeiro laço
?> <!--Fecha o código PHP-->
</select> <!--Fecha o combobox-->
<input name="btn_cad_mat" type="submit" value="Enviar"> <!--Cria o botão que irá enviar as informações para a página rec1.php onde será realizada a gravação no banco-->
</form><!--Fecha a tag form-->
</body> <!--Fecha o corpo-->
</html> <!-- Fecha a tag HTML-->


Este arquivo terá o nome de rec1.php:

<?php //Inicia código PHP


require_once "conexao.php"; //Chama e faz conexão com o banco de dados


$nomemat = $_POST['nome']; //Variavel $nomemat recebe da variável global POST o que foi digitado no campo nome e o que está entre colchetes é a propriedade name do campo texto no HTML

$idprof = $_POST['nome-prof']; //Variável $idprof recebe da variável global POST o que selecionado no campo professor e o que está entre colchetes é a propriedade name do combobox


$sql = "INSERT INTO materias (nome, aluno_id) VALUES ('$nomemat',$idprof)"; //Guarda na variável $sql a inserção na tabela materias o materias o nome da matéria e o id do professor que está cadastrado na tabela aluno


mysql_query($sql); //Executa a inserção no banco de dados


mysql_close($con); //Fecha a conexão com o banco


echo "Materia cadastrada com sucesso!"; echo "</BR>"; //Mostra na tela a mensagem que foi cadastrado com sucesso e pula uma linha

echo "</BR>"; //Pula uma linha

echo "<a href='http://localhost/escola/cad_materias.php'>Cadastrar materia</a>" ; echo "</BR>"; //Cria um link que volta para a página de cadastro de materias e pula uma linha


?> <!--Termina um código PHP-->  

 É isso galera, 

 Valeu.

1 comentários:

Anônimo disse...

muito bom, parabéns

Postar um comentário

Gostou da postagem? Comente!

Related Posts Plugin for WordPress, Blogger...
 
Copyright© 2011 - Tech LiveBR | Desenvolvido por Willian