Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde,
Tenho um formulário que gera campos do tipo "text", e esses, por sua vez, devem ir para o Banco de dados... mas como? Já fiz mil e uma peripécias e não consigo de jeito nenhum.
Abaixo, segue o script que gera os campos (formulário), e depois o arquivo do POST.
<script>
var num = 1;//inicializo a variavel com a quantidade de itens na tela
function AdicionaLinha()
{
num++;//ao clicar no botão um item novo é adicionado, logo a variavel deve ser adicionada
$("#tabelaItem").append(
$(document.createElement("tr")).append(
$(document.createElement("td")).attr({
"width": "40",
"height": "34",
"class": "subHeader"
}).append(
$(document.createElement("div")).attr("align","center").append("Item:")
),
$(document.createElement("td")).attr({
"width": "159",
"class": "subHeader"
}).append(
$(document.createElement("select")).attr({
"id": "item",
"name": "item"+num//incluido o número da variavel para ter name diferentes
}).append(
$(document.createElement("option")).attr("value","alimentacao").append("Alimentação"),
$(document.createElement("option")).attr("value","combustivel").append("Combustível"),
$(document.createElement("option")).attr("value","materiald").append("Material Degustativo"),
$(document.createElement("option")).attr("value","materiale").append("Material de Escritório"),
$(document.createElement("option")).attr("value","pedagio").append("Pedágio"),
$(document.createElement("option")).attr("value","copia").append("Cópia"),
$(document.createElement("option")).attr("value","outros").append("Outros")
)
),
$(document.createElement("td")).attr({
"width": "75",
"class": "subHeader"
}).append(
$(document.createElement("div")).attr("align","center").append("Data:")
),
$(document.createElement("td")).attr({
"width": "72",
"class": "subHeader"
}).append(
$(document.createElement("input")).attr({
"size": "12",
"name": "dataItem" + num,//em todo lugar que se cria name colocar o num para ter names diferentes
"id": "data2"
})
),
$(document.createElement("td")).attr({
"width": "61",
"class": "subHeader"
}).append(
$(document.createElement("div")).attr("align","center").append("Valor:")
),
$(document.createElement("td")).attr({
"width": "72",
"class": "subHeader"
}).append(
$(document.createElement("input")).attr({
"size": "12",
"name": "valor" + num,//idem
"id": "valor"
})
),
$(document.createElement("td")).attr({
"width": "63",
"class": "subHeader"
}).append(
$(document.createElement("div")).attr("align","center").append("NF:")
),
$(document.createElement("td")).attr({
"width": "72",
"class": "subHeader"
}).append(
$(document.createElement("input")).attr({
"size": "12",
"name": "nf" + num,//idem
"id": "nf"
})
)
)
);
}
$("#inv").val(num);//incluo a quantidade de itens para o envio de post, o input hidden tem que ter um name unico para você recuperar no POST
</script>
<?php
if ($valida){
$data = getdate();
$dataini = '$data[mday]'.'-'.'$data[mon]'.'-'.'$data[year]';/**/
$representante = $_POST['$nome'];/**/
$cidade = $_POST['cidade'];/**/
$estado = $_POST['estado'];/**/
$campanha = $_POST['campanha'];/**/
$periodo = datasql( $_POST['periodo']);
$periodo2 = datasql( $_POST['periodo2']);/**/
$n = $_POST['inv'];/**/
for($i=1 ; $i<=$n ; $i++){
$item = $_POST['item'+$i];/**/
$data2 = datasql( $_POST['dataItem'+$i]);/**/
$valor = ponto( $_POST['valor'+$i]);/**/
$nf = $_POST['nf'+$i];/**/
$sql2 = "INSERT INTO itens(item,data2,valor,nf)VALUES('$item','$data2','$valor','$nf')";
$insere2 = @mysql_query($sql2);
if ($n>20){
echo "Limite de 20 itens ultrapassado.";
echo "<a href='menu_rev.php'>Voltar</a>";
}
}
$sql1 = "INSERT INTO historico(data,representante,cidade,estado,campanha,periodo,periodo2)VALUES(NOW(),'$nome','$cidade','$estado','$campanha','$periodo','$periodo2')";
$insere = @mysql_query($sql1);
if ($insere && $insere2){
echo "Produto cadastrado com sucesso! Redirecionando...<META HTTP-EQUIV='Refresh' CONTENT='1 ; URL=menu_rev.php'>";
}
else{
echo mysql_error ();
}
}
@mysql_close($conexao);
?>Carregando comentários...