Tenho uma consulta que retorna os alunos cadastrados, com um campo text com o código do aluno e um campo text vazio para inserção da nota do aluno correspondente, como segue abaixo:
Consultar.php
echo "<input name=\" id_aluno[]\" type=\"text\" id=\" id_aluno\">\n";
echo "<input name=\" nota[]\" type=\"text\" id=\"nota \">\n";
Eu preciso que quando eu preencher todas as notas e clicar em enviar, que o script va inserindo o id_aluno e nota em tabelas diferentes, ou seja, cada id_aluno e nota em uma tabela.
Meu código esta assim:
Consulta.php
if(isset($_POST["nota"])){
// Faz loop pelo array do banco
foreach($_POST["nota"] as $nota_aluno {
$sql = "INSERT INTO notas_aluno ( id_aluno, nota)
VALUES ('$id_aluno, '$nota_aluno’)";
include("SQL.php");
} }
Ta inserindo a nota certa, porém o id do aluno eu não estou conseguindo pegar, pois até onde sei não tem como ter 2 condições no mesmo foreach. Alguem tem alguma solução pra isso?
Desde já agradeço
Inserir Valores Através De 2 Arrays
Started By Jefferson Fernandes, 08/07/2009, 10:40
4 replies to this topic
#1
Posted 08/07/2009, 10:40
#2
Posted 08/07/2009, 10:47
faz assim:
[codebox]
$i = 0;//contador, vai ser usado para referenciar o id do array do aluno
//aqui fica igual vc fez
if(isset($_POST["nota"])){
// Faz loop pelo array do banco
foreach($_POST["nota"] as $nota_aluno {
//aqui entra a referencia pro id_aluno
$id_aluno = $_POST['id_aluno'][$i];
$sql = "INSERT INTO notas_aluno ( id_aluno, nota)
VALUES ('$id_aluno, '$nota_aluno’)";
include("SQL.php");
//incremento o contador para na próxima vez pegar o id com o mesmo indice da nota do aluno em questão
$i++
} }
[/codebox]
[codebox]
$i = 0;//contador, vai ser usado para referenciar o id do array do aluno
//aqui fica igual vc fez
if(isset($_POST["nota"])){
// Faz loop pelo array do banco
foreach($_POST["nota"] as $nota_aluno {
//aqui entra a referencia pro id_aluno
$id_aluno = $_POST['id_aluno'][$i];
$sql = "INSERT INTO notas_aluno ( id_aluno, nota)
VALUES ('$id_aluno, '$nota_aluno’)";
include("SQL.php");
//incremento o contador para na próxima vez pegar o id com o mesmo indice da nota do aluno em questão
$i++
} }
[/codebox]
#3
Posted 08/07/2009, 12:05
faz assim:
$i = 0;//contador, vai ser usado para referenciar o id do array do aluno//aqui fica igual vc fezif(isset($_POST["nota"])){// Faz loop pelo array do bancoforeach($_POST["nota"] as $nota_aluno {//aqui entra a referencia pro id_aluno$id_aluno = $_POST['id_aluno'][$i];$sql = "INSERT INTO notas_aluno ( id_aluno, nota)VALUES ('$id_aluno, '$nota_aluno’)";include("SQL.php");//incremento o contador para na próxima vez pegar o id com o mesmo indice da nota do aluno em questão$i++} }
Deu certinho... vlw fera... obrigado mesmoooo
#4
Posted 08/07/2009, 12:40
Mais simples ainda :
O próprio foreach já tem a sintaxe, mas isto são apenas meios, php tem mil e uma maneiras de se fazer 'x'. XD
[]'s
flws
foreach($_POST['campo'] as $key => $value)
O próprio foreach já tem a sintaxe, mas isto são apenas meios, php tem mil e uma maneiras de se fazer 'x'. XD
[]'s
flws
Edição feita por: Ferlouko x), 08/07/2009, 12:41.
<?php
/**
* @author. . .Fernando Rodrigo Cardoso < ferlouko (at) gmail.com >
* @desc. . . .Desenv. PHP, (X)HTML, CSS, JS E AJAX, aprendiz JAVA, aprendiz C/C++ (...)
*/ ?>
/**
* @author. . .Fernando Rodrigo Cardoso < ferlouko (at) gmail.com >
* @desc. . . .Desenv. PHP, (X)HTML, CSS, JS E AJAX, aprendiz JAVA, aprendiz C/C++ (...)
*/ ?>
#5
Posted 08/07/2009, 15:35
Uma forma mais simples:
[codebox]
if(@$_POST) {
$array = array_combine($_POST['id_aluno'], $_POST['nota']);
foreach($array as $id_aluno => $nota) {
$sql .= "INSERT INTO notas_aluno (id_aluno, nota) VALUES ('".$id_aluno."', '".$nota."')";
}
include("SQL.php");
}
[/codebox]
Até mais
[codebox]
if(@$_POST) {
$array = array_combine($_POST['id_aluno'], $_POST['nota']);
foreach($array as $id_aluno => $nota) {
$sql .= "INSERT INTO notas_aluno (id_aluno, nota) VALUES ('".$id_aluno."', '".$nota."')";
}
include("SQL.php");
}
[/codebox]
Até mais
Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador
Twitter: HostCheap
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)