Input felter fanges med forkert værdi
Jeg har nedenstående kode, som ud fra nogle arrays og dataudtræk, laver en liste indeholdende en mængde input felter.Meningen er at brugerne kan ændre de allerede indtastede data, samt tilføje mere data til nederste niveua for hvert underpunkt.
Data ser korrekt ud i front-end'en, men når jeg prøver at fange data, for senere at smide det i databasen, så er det ikke indeholder felter, der indeholder de rigtige data. Det undrer mig lidt.
(div)
<ul>
<?php
$tæller = 0;
for ($j=1;$j<=count($HOVEDAKT);$j++) {
$hovedakt_nr = $HOVEDAKT[$j]['nr'];
$hovedakt_be = $HOVEDAKT[$j]['beskrivelse'];?>
<li>
<a href="#" onclick="showhide('id_<?php echo $hovedakt_nr;?>');">
<?php echo $hovedakt_nr." - ".$hovedakt_be;?>
</a>
<div id="id_<?php echo $hovedakt_nr;?>" style="display:block;">
<?
for ($i=1;$i<=count($UNDERAKT);$i++) {
$underakt_nr = $UNDERAKT[$i]['nr'];
$underakt_be = $UNDERAKT[$i]['beskrivelse'];
if (substr($underakt_nr,0,1)."0" == $hovedakt_nr) {?>
<ul>
<? $query = "SELECT * FROM kalkulation WHERE ordre_id = '".addslashes($_GET['id'])."' AND underakt = $underakt_nr";
$sql = mysql_query($query) or die(mysql_error);
if (!mysql_num_rows($sql) || !isset($sql)) {
//echo "hej";
$tæller++;?>
<li style="display:block;">
<a href="#" onclick="showhide('id_<?php echo $underakt_nr;?>');">
<?php echo $underakt_nr. " - ".$underakt_be;?>
</a>
<div id="id_<?php echo $underakt_nr;?>" style="display:block;">
<ul>
<!-- Inputfelter til de underakt, der endnu ikke indeholder data-->
<input type="text" class="inputextrasmall" name="navn[]">
<input type="text" class="inputextrasmall" name="beskrivelse[]"/>
<!--<input type="text" class="inputextrasmall" name="kostpris[]">-->
</ul>
</div>
<? } else {?>
<li>
<a href="#" onclick="showhide('id_<?php echo $underakt_nr;?>');">
<?php echo $underakt_nr. " - ".$underakt_be;?>
</a>
<div id="id_<?php echo $underakt_nr;?>" style="display:block;">
<?php while ($foo = mysql_fetch_assoc($sql)) {
$tæller++;?>
<ul>
<input type="text" name="underakt_id[]" value="<?php echo $foo['id']; ?>"/>
<input type="text" class="inputextrasmall" name="navn[]" value="<?php echo $foo['navn']; ?>" />
<input type="text" class="inputextrasmall" name="beskrivelse[]" value="<?php echo $foo['beskrivelse']; ?>" />
</ul>
<?php }
$tæller++;?>
<ul>
<!-- Inputfelter til de underakt, der indeholder data-->
<input type="text" class="inputextrasmall" name="navn[]">
<input type="text" class="inputextrasmall" name="beskrivelse[]"/>
</ul>
</div>
<? } ?>
</li>
</ul>
<? }
}?>
</li>
</div>
<? }?>
</li>
</ul>
(/div)
Koden som skal behandle felterne:
(div)
$thispage = $_POST['thispage'];
$tæller = $_POST['tæller'];
unset($_POST['tæller']);
unset($_POST['thispage']);
unset($_POST['submit2']);
unset($_POST['eid']);
unset($_POST['bygherre_hidden']);
$akt = array();
$akt = $_POST['underakt_id'];
//unset($_POST['underakt_id']);
//echo count($akt);
$keys = array_keys($_POST);
//echo count($keys);
for ($i=0;$i<$tæller;$i++) {
echo $_POST['underakt_id'][$i]." ";
//foreach ($keys as $value) {
//$ny = array();
foreach ($keys as $feltnavn) {
echo $feltnavn." - ".$_POST[$feltnavn][$i]."<br>";
// $ny = $_POST[$feltnavn];
//if ($_POST['navn'][$i] != ""){
//echo $akt[$i] . " - " . $feltnavn . " - ".$_POST[$feltnavn][$i]."<br>";
//}
}
// reset($keys);
//print_r($ny);
}
}
(/div)
Eksempel:
[IMG]http://i34.tinypic.com/301zkp0.jpg[/IMG]
Den med 4 i første felt (underakt_id-feltet), bliver fanget som indeholdende 3, og det kan jeg ikke lige forstår.
Håber det var bare nogenlunde til at forstå, og at I kan sige hvad jeg gør forkert?
