Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
MATRIZ:
---------------------------------------------
DEFEITO -| QUANT. DEFEITOS | RESULTADO
------------|--------------------|-----------
string(1) | 2 char | string(1a)
------------|--------------------|-------------
string(2) | 3 char | string(2a)
------------|--------------------|-------------
string(3) | 0 char | string(3a)
------------|--------------------|-------------
string(4) | 0 char | string(4a)
------------|--------------------|-------------
DEFEITO = variavel 'aca_item_anal_def' VARCHAR (30) Não recupera
QUANT. DEFEITOS = variavel 'def_detec' CHAR (2) Recupera
RESULTADO = variavel 'def_res' VARCHAR (20)) Recupera
Código:
<table class="est">
<tr>
<td class="cab_list">DEFEITO </td>
<td class="cab_list">QUANT DEFEITOS </td>
<td class="cab_list">RESULTADO </td>
</tr>
<?php
$sql = ("SELECT * FROM tab_esp_aca WHERE aca_cod_aca like '$codi_aca' ORDER BY aca_ordem");
$query = mysql_query($sql);
while($def= mysql_fetch_array($query)){
?>
<tr bgcolor = '#EDF1A6'>
<td class="cab_left" bgcolor = "<?=$bgcolor?>">
<font class="f6">
<?php echo $def[aca_item_anal_def];?>
<input type="hidden" name="def['nome_def'][]" value="<?php echo $nome_def;?>"> ==> ESTE VALOR NÃO RECUPERA
</font>
</td>
<td class="cab_center" bgcolor = "<?=$bgcolor?>">
<font class="f6">
<input type="text" name="def[0][]" size="4" maxlength="2" /> ==> ESTE VALOR RECUPERA
<input type="hidden" name="def['def_detec'][]" value="<?php echo $def_detec;?>">
</font>
</td>
<td class="cab_center" bgcolor = "<?=$bgcolor?>">
<font class="f6">
<input type="text" name="def[0][]" size="10" maxlength="20" /> ==> ESTE VALOR RECUPERA
<input type="hidden" name="def['def_res'][]" value="<?php echo $def_res;?>">
</font>
</td>
</tr>
<?php
}
?>
</table>
<?php
$registre = $_POST["ao_def_ID"]; ==> GRAVA
$ao_ID = mysql_insert_id(); ==> GRAVA
$codi_aca = $_POST["ao_cod_aca"]; ==> GRAVA
$item = $_POST['def'][0];
foreach ($item AS $data){
echo $data; ==> RECUPERA SOMENTE AS VARIAVEIS 'def_detec' e 'def_res' corretamente.
for($a = $b = $c = 0; $a < count($nome_def), $b < count($def_detec), $c < count($def_res); $a++, $b++, $c++){
mysql_query("INSERT INTO tab_analise_aca_def (ao_def_ID, ao_ID, ao_cod_aca, ao_nome_def, ao_def_detec, ao_def_res) VALUES (
'$registre', ==> GRAVA
'$ao_ID', ==> GRAVA
'$codi_aca', ==> GRAVA
('$data[$a]', ==> NÃO GRAVA
'$data[$a]',
'$data[$a]',),
('$data[$b]', ==> NÃO GRAVA
'$data[$b]',
'$data[$b]',),
('$data[$c]', ==> NÃO GRAVA
'$data[$c]',
'$data[$c]')
)");
}
}
O código abaixo grava parcialmente
///////////////////////////////////////////////
for($i = 0; $i < count($data); $i++) {
mysql_query("INSERT INTO tab_analise_aca_def (ao_def_ID, ao_ID, ao_cod_aca, ao_nome_def, ao_def_detec, ao_def_res) VALUES (
'$registre',
'$ao_ID',
'$codi_aca',
'$data[$i]',
'$data[$i]',
'$data[$i]'
)");
}
Resultado
Grava 8 registros em vez de 12 registros
500588 ao_def_ID
40258 ao_ID
0.A.087.310 ao_cod_aca
2 def_detec
2 def_detec
2 def_detec
500589
40258
0.A.087.310
a def_res - Só grava o primeiro caractere - Devia gravar APPROVADO
a def_res
a def_res
500590
40258
0.A.087.310
3
3
3
500591
40258
0.A.087.310
a
a
a
500592
40258
0.A.087.310
4
4
4
500593
40258
0.A.087.310
r
r
r
500594
40258
0.A.087.310
5
5
5
500595
40258
0.A.087.310
r
r
r
///////////////////////////////////////////////
if(mysql_affected_rows()>0)
include "registro_incluir.php";
else {
$erro = mysql_error();
echo "<p align='center'>Erro: $erro</p>";
}
mysql_close($con);
?>
<br>
<td>
<a href="menu_sis.php"><img border="0" src="img_botao_menu.jpg"></a>
</td>
</form>
</div>
</body>
</html>
Já modelei o script de várias formas. O que estou fazendo de errado?
Super obrigado a quem possa dar ma luz.
Carregando comentários...