Hoi mensen,

Ik heb onderstaand scriptje wat er voor moet zorgen dat per bestand een dropdown menu verschijnt. Dus wanneer er drie bestanden zijn dan verschijnt er per bestand een dropdown menu. Wanneer ik echter in dit v.b. slechts de eerste van de drie selecteer met 'ja' en de laatste 2 met 'nee' dan berekend hij alleen 'nee' van de laatste drop down. Hoe kan ik er voor zorgen dat de berekening per dropdown plaats vindt i.p.v. dat alleen de laatste dropdown gepakt wordt?

<table border=0 class="kop" cellspacing=0 cellpadding=2 width=750> 
<?php 
echo"<tr><td colspan=\"3\" class=\"kop3\" height=\"22\"><b>Uw geselecteerde bestand(en) om samen te stellen</b></td></tr>"; 
foreach ($_SESSION['edit'] as $bestanden => $waarde) 
{ 
if (isset($alternate) && $alternate == "1") 
{ 
$color = "#efefef"; 
$alternate = "2"; 
} 
else 
{ 
$color = "#dedede"; 
$alternate = "1"; 
} 
?> 
<tr> 
<td width="650" height="22" class="kopBestand" bgcolor="<?php echo $color; ?>"> 
<?php 
echo $bestanden; 
echo "</td><td width=100 bgcolor=$color>"; 
////////// correctie dropdown ///////// 
if(isset($_POST['bereken'])) 
{ 
if ($_POST['correctie'] == 'Bestand corrigeren?') 
{ 
          $geen= "LET OP: U heeft niet aangegeven of u het bestand wilt corrigeren of niet. Probeer het opnieuw!"; 
         echo "<select name='correctie'><option STYLE=\"color:red;\">Bestand corrigeren?</option>"; 
    echo "<option value=\"ja\">ja</option> 
    <option value=\"nee\">nee</option> 
</select>"; 
} 
else 
{ 
         echo "<select name='correctie'><option>".$_POST['correctie']."</option>"; 
    echo "<option value=\"ja\">ja</option> 
    <option value=\"nee\">nee</option> 
</select>"; 
} 
} 
else { 
       echo "<select name='correctie'><option>Bestand corrigeren?</option>"; 
    echo "<option value=\"ja\">ja</option> 
    <option value=\"nee\">nee</option> 
</select>"; 
} 
} 
////////////////// einde /////////// 
?> 
</td> 
</tr> 
</table>
select name="correctie[]"

ipv correctie :)
Wanneer ik jouw suggestie opvolg krijg ik in de dropdown 'Array' en dat werkt dus niet goed. Heb je een andere suggestie?
Ik heb nu onderstaand stukje script en nu blijven de verschillende dropdown menu's staan;

<table border=0 class="kop" cellspacing=0 cellpadding=2 width=750>
<?php 
echo '<tr> 
        <td colspan="3" class="kop3" height="22"> 
            <b>Uw geselecteerde bestand(en) om samen te stellen</b> 
        </td> 
      </tr>'; 
$i = 0; 
foreach ($_SESSION['edit'] as $bestanden => $waarde) { 
    if (isset($alternate) && $alternate == '1') { 
        $color = '#efefef'; 
        $alternate = '2'; 
    } 
    else { 
        $color = "#dedede"; 
        $alternate = "1"; 
    } 
?>  
    <tr> 
    <td width="650" height="22" class="kopBestand" bgcolor="<?php echo $color; ?>"> 
    <?php 
    echo $bestanden; 
    echo '</td><td width="100" bgcolor="'.$color.'">'; 
    ////////// correctie dropdown ///////// 
    if(isset($_POST['bereken'])) {  
        if ($_POST['correctie'] == 'Bestand corrigeren?') { 
            $geen = "LET OP: U heeft niet aangegeven of u het bestand wilt corrigeren of niet. Probeer het opnieuw!"; 
            echo '<select name="correctie[]"> 
                    <option style="color:red;">Bestand corrigeren?</option> 
                    <option value="ja">ja</option> 
                    <option value="nee">nee</option> 
                  </select>'; 
        } 
        else { 
            echo '<select name="correctie[]"> 
                    <option>'.$_POST['correctie'][$i].'</option> 
                    <option value="ja">ja</option> 
                    <option value="nee">nee</option> 
                  </select>'; 
        } 
    } 
    else { 
        echo '<select name="correctie[]"> 
                <option>Bestand corrigeren?</option> 
                <option value="ja">ja</option> 
                <option value="nee">nee</option> 
              </select>'; 
    } 
$i++; 
} 
    ////////////////// einde /////////// 
?>  
</td> 
</tr> 
</table>


Maar nu werkt de berekening niet. Wat doe ik fout?

<?php 
echo '<table border=0 cellspacing=0 cellpadding=2 width=750>'; 
if ($_POST[correctie][$i] == 'ja') 
{ 
$ja = count($_POST[correctie][$i]); 
$_SESSION['ja'] = $ja; 
echo '<tr><td width="480"> 
Bestand corrigeren  (Aantal: $ja x)</td> 
<td width="10">&euro;</td> 
<td width="60" align="right">"; 
$quer=mysql_query("SELECT kosten FROM correctiekosten"); 
while ($row = mysql_fetch_array($quer)) 
{ 
$kosten = $row['kosten']; 
} 
$correctiekosten = $ja * $kosten; 
echo $correctiekosten; 
echo '</td><td width="200">&nbsp;</td></tr></table>'; 
} 
else 
{ 
echo '&nbsp;'; 
} 
?>


Gelieve Niet Bumpen:

Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.

SanThe.

Kijk 's goed naar de kleuren. Overigens zou hier $kosten alleen de laatste $row['kosten'] van de loop bevatten. Verder niets dus.
Hoi Jezpur, ik begrijp niet helemaal wat je bedoelt. Wanneer ik $_POST[correctie][$i] echo krijg ik niets, dus daar gaat het zowiezo fout...
Kijk nou 's naar de kleuren van je tweede stukje code. Gaat helemaal fout, toch?
Sorry Jezpur, maar ik begrijp echt niet wat je bedoelt met 'kleuren van je ...code'?
<?php
echo '<table border=0 cellspacing=0 cellpadding=2 width=750>';
if ($_POST[correctie][$i] == 'ja')
{
$ja = count($_POST[correctie][$i]);
$_SESSION['ja'] = $ja;
echo '<tr><td width="480">
Bestand corrigeren (Aantal: $ja x)</td>
<td width="10">&euro;</td>
<td width="60" align="right">";
$quer=mysql_query("SELECT kosten FROM correctiekosten");
while ($row = mysql_fetch_array($quer))
{
$kosten = $row['kosten'];
}
$correctiekosten = $ja * $kosten;
echo $correctiekosten;
echo '</td><td width="200">&nbsp;</td></tr></table>';
}
else
{
echo '&nbsp;';
}
?>

....Goed kijken naar de kleuren in die code....
Je hebt gelijk; zo ziet het er beter uit maar het probleem blijft onopgelost. Heb jij een suggestie?

<?php 
echo '<table border=0 cellspacing=0 cellpadding=2 width=750>'; 
if ($_POST[correctie][$i] == 'ja') 
{ 
$ja = count($_POST[correctie][$i]); 
$_SESSION['ja'] = $ja; 

echo '<tr><td width="480"> 
Bestand corrigeren  (Aantal: '.$ja.' x)</td> 
<td width="10">&euro;</td> 
<td width="60" align="right">'; 

$quer=mysql_query("SELECT kosten FROM correctiekosten"); 
while ($row = mysql_fetch_array($quer)) 
{ 
$kosten = $row['kosten']; 
} 
$correctiekosten = $ja * $kosten; 
echo $correctiekosten; 
echo '</td><td width="200">&nbsp;</td></tr></table>'; 
} 
else 
{ 
echo '&nbsp;'; 
} 
?> 
Wil je in $kosten de totale kosten van alle rijen in je tabel hebben of moet $correctiekosten de kosten * $ja per rij bevatten?

Reageren