Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Mestres,
Desafio. Já lis mais de 50 posts e não resolvi.
Necessito gravar vários registros de um ou dois input e gravar esses dados em outra tabela.
Código do Select e do Input:
<?php
if(!isset($codi_aca))
blablabla...
}else {
$sql = ("SELECT * FROM tab_esp_aca WHERE aca_cod_aca like '$codi_aca' ORDER BY aca_ordem");
blablabla ...
<td>
<font class="f6">
<?=$result[aca_item_anal_def]?>
</font>
</td>
<td class="cab_center" bgcolor = "<?=$bgcolor?>">
<font class="f6">
<input type="text" name="ao_def_detec" size="4" maxlength="2">
<input type="hidden" name="defeito[]" value="ao_def_detec">
</font>
</td>
<td class="cab_center" bgcolor = "<?=$bgcolor?>">
<font class="f6">
<input type="text" name="ao_def_res" size="10" maxlength="20">
<input type="hidden" name="defeito[]" value="ao_def_res">
</font>
</td>
</tr>
<?php
}
}
?>
Código para Inserir na primeira tabela: AQUI ESTÁ OK- INSERE CORRETAMENTE TODOS OS DADOS
blablabla...
<?php
}
}
else
{
$registro = $_POST["ao_ID];
$codi_aca = $_POST["ao_cod_aca"];
blablabla...
mysql_query("INSERT INTO tab_analise_aca VALUES(
'$registro',
'$cli_ID')");
blablabla...
if(mysql_affected_rows()>0)
include "registro_incluir.php";
else {
$erro = mysql_error();
echo "<p align='center'>Erro: $erro</p>";
}
}
Código para inserir na segunda tabela: AQUI QUE ESTÁ DANDO ERRO!!!
$registre = $_POST["ao_def_ID"]; GRAVA OK
$ao_ID = mysql_insert_id(); GRAVA OK - Campo chave
$codi_aca = $_POST["ao_cod_aca"]; GRAVA OK - Campo chave
$def_detec = $_POST["ao_def_detec"]; NÃO GRAVA
$def_res = $_POST["ao_def_res"]; NÃO GRAVA OU APENAS O PRIMEIRO CARACTERE DO INPUT
foreach($_POST["defeito] as $defeito) {
mysql_query("INSERT INTO tab_analise_aca_def VALUES (
'$registre',
'$ao_ID',
'$codi_aca',
(".$defeito."),
(".$defeito."))");
}
if(mysql_affected_rows()>0)
include "registro_incluir.php";
else {
$erro = mysql_error();
echo "<p align='center'>Erro: $erro</p>";
}
mysql_close($con);
?>
Já tentei várias formas com FOREACH e COUNT
Dependendo da modelagem do script grava o dobro de registros, mas sempre o ultimo input - Campos def_detec e def_res. ou grava apenas um registro, também com o ultimo input.
-------------------------------------------------------------------------------------------------------
Inclusive uma postagem do William Bruno de 16/04/2009:
echo '<td><input type="text" name="codigo[]" value="'.$linha['codigo'].'" /></td>';
ai você terá um array: $_POST['codigo']
com posições..
$_POST['codigo'][0]
$_POST['codigo'][1
etc., etc.
Não rolou nada.
-----------------------------------------------------------------------------------------------------
Onde está o segredo? Alguém tem alguma idéia?
Aí está o desafio.
Fiquem bem!!!
Carregando comentários...