
Puxar Dados Do Banco Mysql E Jogar Em Um Combobox
#1
Posted 15/09/2008, 14:56
Como faço para puxar dados do meu banco de dados MYSQL e jogá-los em um combobox?
Eu tenho duas tabelas uma ALUNO e uma TURMA. Quero puxar as turmas cadastradas na tabela TURMAS e joga-las em um combobox no Cadastro de Aluno.
Ex: Tela Cadastro de Aluno
Nome:
Turma: Combobox (TURMA 1, TURMA 2, TURMA 3)
RA Aluno:
Endereço
Banco de dados Tabela Turma: Nome das Turmas cadastradas: TURMA 1, TURMA 2, TURMA 3.
Obrigado.
#2
Posted 15/09/2008, 15:05
<?
sql = "SELECT * FROM turma";
con = mysql_query(sql)
?>
<select name="cmbTurma" id="cmbTurma">
<option value="0" selected>Selecione</option>";
<?
if (mysql_num_rows($con) > 0) {
while($rs = mysql_fetch_object($con)) {
$div .= "<option value=\"".$rs->id."">".$rs->turma."</option>";
}
}
?>
[/codebox]
Isso?
Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens!
#3
Posted 15/09/2008, 15:51
Parse error: syntax error, unexpected '<' in C:\xampp\htdocs\SistemaAcademico\cadastro.php on line 87
Linha 87:
$div .= "<option value=\"".$rs->id."">".$rs->turma."</option>";
fiz assim agora e não deu erro:
$div .= "<option value=\"".$rs->id."">"".$rs->turma."</option>";
mas não entendi mto bem o codigo que vc me passou, poderia me explicar resumidamente, por favor?
$sql1 = "SELECT id_turma FROM turma"; $con = mysql_query(sql1); <select name="id_turma" id="turma_id_turma"> <option selected value="0">Selecione</option>; if (mysql_num_rows($con) > 0) { while($rs = mysql_fetch_object($con)) { $div .= "<option value=\"".$rs->id."">"".$rs->turma."</option>"; } }
Alguma coisa entre essas linhas está errado:
<select name="id_turma" id="turma_id_turma">
<option selected value="0">Selecione</option>;
erro: Parse error: syntax error, unexpected '<' in C:\xampp\htdocs\SistemaAcademico\cadastro_aluno.php on line 21
vou colcar denovo aqui
ignore o que está acima
#4
Posted 15/09/2008, 15:52
Primeiro fazemos o SELECT, onde vamos recuperar todo o conteúdo das turmas... ($sql1 = "SELECT id_turma FROM turma"

Em seguida, executamos a consulta que criamos em seguida ($con = mysql_query(sql1)

Isso aí vai no PHP... no formulário de cadastro, você vai criar um select para puxar os dados do SELECT que fizemos acima, certo?
[codebox]
<select name="id_turma" id="turma_id_turma">
<option selected value="0">Selecione sua turma</option>
<?
if (mysql_num_rows($con) > 0) { // Se o numero de linhas que retornar do banco for maior que 0, ou seja, se tiver coisa no banco, então...
while($rs = mysql_fetch_object($con)) { // vai pegar esse objeto e ir duplicando! ?>
<option value="<? echo $rs->id; ?>"><? echo $rs->turma; ?></option>
<?
}//termina while
}//termina if
?>
</select>
[/codebox]
Entendeu agora amigo?
Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens!
#5
Posted 15/09/2008, 15:52
<? $sql = "SELECT * FROM turma"; $con = mysql_query(sql) ?> <select name="cmbTurma" id="cmbTurma"><option value="0" selected>Selecione</option>"; <? if (mysql_num_rows($con) > 0) { while($rs = mysql_fetch_object($con)) { $div .= "<option value=\"".$rs->id."">".$rs->turma."</option>"; } } ?>
Erro:
Parse error: syntax error, unexpected '<' in C:\xampp\htdocs\SistemaAcademico\cadastro_aluno.php on line 42
Linha 42:
$div .= "<option value=\"".$rs->id."">".$rs->turma."</option>";
#6
Posted 15/09/2008, 16:01
Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens!
#7
Posted 15/09/2008, 16:02
<? $connect=mysql_connect("localhost","root","") or die("Connection Failure to Database"); //echo "Conectado ao servidor de Banco de Dados!<br><br>"; mysql_select_db("cadastro",$connect) or die ("Não é possível selecionar o banco de dados"); //echo "O Banco de Dados " . "cadastro" . " foi selecionado"; $sql1 = "SELECT id_turma FROM turma"; $con = mysql_query(sql1) ?> <select name="id_turma" id="turma_id_turma"> <option selected value="0">Selecione sua turma</option> <? if (mysql_num_rows($con) > 0) { // Se o numero de linhas que retornar do banco for maior que 0, ou seja, se tiver coisa no banco, então... while($rs = mysql_fetch_object($con)) { // vai pegar esse objeto e ir duplicando! ?> <option value="<? echo $rs->id; ?>"> <? echo $rs->turma; ?></option> <? }//termina while }//termina if ?>
#8
Posted 15/09/2008, 16:09
echo $sql1;
Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens!
#9
Posted 15/09/2008, 16:38
<? $connect=mysql_connect("localhost","root","") or die("Connection Failure to Database"); //echo "Conectado ao servidor de Banco de Dados!<br><br>"; mysql_select_db("cadastro",$connect) or die ("Não é possível selecionar o banco de dados"); //echo "O Banco de Dados " . "cadastro" . " foi selecionado"; $sql1 = "SELECT id_turma FROM turma"; $con = mysql_query(sql1); echo $sql1; if (!$sql1){ $message = '<br><br><b>nao deu certo o select! </b>' . mysql_error() . "\n"; } else $message = '<br>Query completa!</b> ' . $sql1; echo $message; ?> <br><br> <select name="turma_id_turma" id="turma_id_turma"> <option selected value="0">Selecione sua turma</option> <? if (mysql_num_rows($con) > 0) { // Se o numero de linhas que retornar do banco for maior que 0, ou seja, se tiver coisa no banco, então... while($rs = mysql_fetch_object($con)) { // vai pegar esse objeto e ir duplicando! ?> <option value=" <? echo $rs->id; ?>"> <? echo $rs->turma; ?></option> <? }//termina while }//termina if ?>
quando mandei imprimir o sql1 ele mostrou: SELECT id_turma FROM turma
Dai fiz de uma forma diferente, como você pode ver acima:
if (!$sql1){ $message = '<br><br><b>nao deu certo o select! </b>' . mysql_error() . "\n"; } else $message = '<br>Query completa!</b> ' . $sql1; echo $message; ?>
e ele deu o seguinte:
Query completa! SELECT id_turma FROM turma
esse select name não entendi direito:
<select name="turma_id_turma" id="turma_id_turma">
achei o erro. O certo
$con = mysql_query($sql1);
ao invés de:
$con = mysql_query(sql1);
agora ele mostrou o selecione e um negocio em branco...
estranho pois tenho uma turma cadastrada, e não mostrou no combobox.
finalmente ele puxou!!
só não entendi mto bem aqui:
<select name="id_turma" id="turma_id_turma">
E pra eu puxar o que eu selecionei pra tabela aluno?
Antes eu fazia assim:
$turma_id_turma=$_POST['turma_id_turma'];
Pois eu digitava o nome da turma... como faço agora pra puxar o valor do combobox?
#10
Posted 15/09/2008, 16:58
Suponhamos que temos o seguinte select, em HTML:
<select name="nome_do_select"> <option value="valor_a_recuperar1">Valor 1</option> <option value="valor_a_recuperar1">Valor 2</option> </select>
Quando em PHP fazermos $_POST['nome_do_select'], vamos obter 'valor_a_recuperar1' ou 'valor_a_recuperar2', consoante o escolhido na lista.
Espero ter ajudado!
#11
Posted 15/09/2008, 17:19
cadastro_aluno.php:
<HTML> <HEAD> <TITLE>Cadastro de alunos</TITLE> </HEAD> <BODY> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <form method="post" action="cadastro.php"> <FONT face="Arial" SIZE=3 COLOR="black"><h1>Cadastro de Alunos</h1> <? $connect=mysql_connect("localhost","root","") or die("Connection Failure to Database"); //echo "Conectado ao servidor de Banco de Dados!<br><br>"; mysql_select_db("cadastro",$connect) or die ("Não é possível selecionar o banco de dados"); //echo "O Banco de Dados " . "cadastro" . " foi selecionado"; $sql1 = "SELECT id_turma FROM turma"; $con = mysql_query($sql1); ?> <br> <font color="black" face="Arial" size="2">RA Aluno: <input name="ra_aluno" type="text"><br></font><br> <font color="black" face="Arial" size="2">Turma: </font><select name="turma_id_turma" id="turma_id_turma"> <option selected value="0">Selecione sua Turma</option> <? if (mysql_num_rows($con) > 0) { // Se o numero de linhas que retornar do banco for maior que 0, ou seja, se tiver coisa no banco, então... while($rs = mysql_fetch_object($con)) { // vai pegar esse objeto e ir duplicando! ?> <option value=" <? echo $rs->id; ?>"> <? echo $rs->id_turma; ?></option> <? }//termina while }//termina if ?> </select> <br> <br> <font color="black" face="Arial" size="2">Nome Aluno: <input name="nome_aluno" type="text"><br></font><br> <font color="black" face="Arial" size="2">Logradouro: <input name="logradouro" type="text"></font> <font color="black" face="Arial" size="2"> Numero: <input name="numero" type="text"></font> <font color="black" face="Arial" size="2">Bairro: <input name="bairro" type="text"></font> <font color="black" face="Arial" size="2">Cidade:<input name="cidade" type="text"></font><br> <font color="black" face="Arial" size="2"><br>Estado: <input name="estado" type="text"><br></font><br> <font color="black" face="Arial" size="2">Telefone: <input name="telefone" type="text"><br></font><br> <font color="black" face="Arial" size="2">Naturalidade: <input name="naturalidade" type="text"><br></font><br> <font color="black" face="Arial" size="2">Nome do Pai: <input name="nome_pai" type="text"><br></font><br> <font color="black" face="Arial" size="2">Nome da Mãe: <input name="nome_mae" type="text"><br></font><br> <font color="black" face="Arial" size="2"> <input value="Enviar" type="submit"> <input type = reset value = Limpar Campos></font></font> <br> <br> <hr> <font color="green" face="Arial" size="3"><a href="portal.html">Voltar a página inicial</a></font> </form> </BODY> </HTML>
cadastro.php:
<HTML> <TITLE>Cadastro de Alunos</TITLE> <BODY> <FONT face="Arial" SIZE=3 COLOR="black"> <? echo "<h1>Cadastro de Alunos</h1>"; include 'aluno.php'; $ra_aluno=$_POST['ra_aluno']; $turma_id_turma=$_POST['turma_id_turma']; $nome_aluno=$_POST['nome_aluno']; $logradouro=$_POST['logradouro']; $numero=$_POST['numero']; $bairro=$_POST['bairro']; $cidade=$_POST['cidade']; $estado=$_POST['estado']; $telefone=$_POST['telefone']; $naturalidade=$_POST['naturalidade']; $nome_pai=$_POST['nome_pai']; $nome_mae=$_POST['nome_mae']; //if ($ra_aluno==NULL){ //echo "Preencha o campo RA por favor."; //exit(); //} $aluno=new aluno; $aluno->setRa_aluno($ra_aluno); $aluno->setTurma_id_turma($turma_id_turma); $aluno->setNome_aluno($nome_aluno); $aluno->setLogradouro($logradouro); $aluno->setNumero($numero); $aluno->setBairro($bairro); $aluno->setCidade($cidade); $aluno->setEstado($estado); $aluno->setTelefone($telefone); $aluno->setNaturalidade($naturalidade); $aluno->setNome_pai($nome_pai); $aluno->setNome_mae($nome_mae); echo "Por favor, confirme se seus dados foram preenchidos corretamente:<br><br>"; echo "<b>RA Aluno:</b> ",$ra_aluno; echo "<b><br><br>ID Turma:</b> ",$turma_id_turma; echo "<b><br><br>Nome:</b> ",$nome_aluno; echo "<b><br><br>Logradouro:</b> ",$logradouro; echo "<b><br><br>Numero:</b> ",$numero; echo "<b><br><br>Bairro:</b> ",$bairro; echo "<b><br><br>Cidade:</b> ",$cidade; echo "<b><br><br>Estado:</b> ",$estado; echo "<b><br><br>Telefone:</b> ",$telefone; echo "<b><br><br>Naturalidade:</b> ",$naturalidade; echo "<b><br><br>Nome do Pai:</b> ",$nome_pai; echo "<b><br><br>Nome da Mãe:</b> ",$nome_mae; $connect=mysql_connect("localhost","root","") or die("Connection Failure to Database"); //echo "Conectado ao servidor de Banco de Dados!<br><br>"; mysql_select_db("cadastro",$connect) or die ("Não é possível selecionar o banco de dados"); //echo "O Banco de Dados " . "cadastro" . " foi selecionado"; function CadastrarAluno($aluno){ $cad="INSERT INTO aluno(ra_aluno, turma_id_turma, nome_aluno, logradouro, numero, bairro, cidade, estado, telefone, naturalidade, nome_pai, nome_mae) values(".$aluno->getRa_aluno().",".$aluno->getTurma_id_turma().",'".$aluno->getNome_aluno()."','".$aluno->getLogradouro()."','".$aluno->getNumero()."','".$aluno->getBairro()."','".$aluno->getCidade()."','".$aluno->getEstado()."','".$aluno->getTelefone()."','".$aluno->getNaturalidade()."','".$aluno->getNome_pai()."','".$aluno->getNome_mae()."')"; $result=mysql_query($cad); if (!$result) { $message = '<br><br><br><br><B>Query invalida! </b>' . mysql_error() . "\n"; } else $message = '<br><br><br><b>Query completa! Os seguintes dados foram inseridos no Banco de Dados:</b> ' . $cad; die($message); } CadastrarAluno($aluno); ?> <br> <br> <hr> <br> </FONT> <font color="green" face="Arial" size="3"><a href="portal.html">Voltar a página inicial</a></font> </BODY> </HTML>
Resultado:
RA Aluno: 12345
ID Turma:
Nome: Jose
Logradouro: Rua 1
Numero: 300
Bairro: Centro
Cidade: Rio de Janeiro
Estado: RJ
Telefone: 1234567
Naturalidade: São Paulo
Nome do Pai: João
Nome da Mãe: Maria
Query invalida! You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Jose','Rua 1','300','Centro','Rio de Janeiro','RJ','1234567','São Paulo','João'' at line 1
Edição feita por: trizzo, 15/09/2008, 17:23.
#12
Posted 15/09/2008, 17:34
Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens!
#13
Posted 17/09/2008, 14:38
O combobox está puxando os dados perfeitamente.
Estou Cadastrando um Aluno, puxando a turma na tabela turma, e inserindo na tabela aluno.
Aqui está meu código do primeiro arquivo que tem o combobox, apenas selecionei a parte do combobox:
<? $sql1 = "SELECT id_turma FROM turma"; $con = mysql_query($sql1); ?> <br> Turma: </font><select name="turma_id_turma" id="turma_id_turma"> <option selected value="0">Selecione sua Turma</option> <? if (mysql_num_rows($con) > 0) { // Se o numero de linhas que retornar do banco for maior que 0, ou seja, se tiver coisa no banco, então... while($rs = mysql_fetch_object($con)) { // vai pegar esse objeto e ir duplicando! ?> <option value=" <? echo $rs->turma_id_turma; ?>"> <? echo $rs->id_turma; ?></option> <? }//termina while }//termina if ?>
O segundo arquivo que insere os dados, tenho o seguinte:
$turma_id_turma=$_POST['turma_id_turma']; $aluno=new pessoa; $aluno->setTurma_id_turma($turma_id_turma); function CadastrarAluno($aluno){ $cad="INSERT INTO aluno(ra_aluno, turma_id_turma, nome_aluno, logradouro, numero, bairro, cidade, estado, telefone, naturalidade, nome_pai, nome_mae) values(".$aluno->getRa_aluno().",[b]'".$aluno->getTurma_id_turma()."'[/b],'".$aluno->getNome_aluno()."','".$aluno->getLogradouro()."','".$aluno->getNumero()."','".$aluno->getBairro()."','".$aluno->getCidade()."','".$aluno->getEstado()."','".$aluno->getTelefone()."','".$aluno->getNaturalidade()."','".$aluno->getNome_pai()."','".$aluno->getNome_mae()."')"; $result=mysql_query($cad); if (!$result) { $message = '<br><br><br><br><B>Query invalida! </b>' . mysql_error() . "\n"; } else $message = '<br><br><br><b>Query completa! Os seguintes dados foram inseridos no Banco de Dados:</b> ' . $cad; die($message); } CadastrarAluno($aluno);
Resultado:
Query completa! Os seguintes dados foram inseridos no Banco de Dados: INSERT INTO aluno(ra_aluno, turma_id_turma, nome_aluno, logradouro, numero, bairro, cidade, estado, telefone, naturalidade, nome_pai, nome_mae) values(849684,' ','8','89898','9','898','9','98','98','89','9','889').
Entretanto o compo turma está vazio em negrito no resultado acima.
Alguém poderia me ajudar pra ver o que tem de errado ai, que ele está retornando 0, por favor?
Muito Obrigado!
Edição feita por: trizzo, 17/09/2008, 19:40.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)