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)










