Hallo

Ik ben bezig met het maken van een website waar het volgende moet gebeuren:

1) De leerlingen tonen afhankelijk van de klas die werd geselecteerd, ze krijgen elk een select box:

<?php

/* Alle leerlingen er uit halen en elk een keuzelijst geven */

$sql1 = "SELECT * FROM tblklaslijsten WHERE Klas = '".$_SESSION['Keuzeklas']."' order by Naam";
$qry1 = mysql_query($sql1);

if(mysql_num_rows($qry1)==0)
{
echo "Geen leerlingen";
}
else
{
$teller = 0;
while($row1 = mysql_fetch_assoc($qry1))
{
$teller ++;

$txtkeuze = 'keuze_'.$row1['ID'];

?>

<tr>
<td style="width:250px; text-align:left; height:40px;"><?php echo $teller.". ". $row1['Naam']." ".$row1['Voornaam'];?></td>


<td style="width:140px;" height="40px">

<select name="<?php echo $txtkeuze;?>">
<option value="">-- Kies soort --</option>
<option value="Vollemaaltijd">Volle Maaltijd</option>
<option value="Soep">Soep</option>
<option value="Fruitsap">Fruitsap</option>
<option value="Water">Water</option>
<option value="Afwezig">Afwezig</option>

</select>

</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<?php
}
}

?>

2) Gegevens wegschrijven in DB:

<!--PHP code voor formulier te verzenden-->

<?php
if ( $_SERVER['REQUEST_METHOD'] == 'POST' &&
isset($_POST['txtkeuze']) )
{
// We gaan de errors in een array bijhouden
$aErrors = array();

// Een naam bevat letters, apostroph en spaties, eventueel een koppelteken en is minimaal 2 tekens lang
// merk op dat ook cijfers door de \w geaccepteerd worden!
// alleen een spatie accepteren we niet
if (!isset($_POST[$txtkeuze]))
{
$aErrors['txtkeuze'] = 'Inhoud is niet correct: Maximum 1 letter/Geen spaties!';
}
if(empty($_POST['txtkeuze']))
{
$aErrors['txtkeuze'] = 'Maak voor elke leerling een keuze!';
}
if(count($aErrors) == 0 )
{
$aErrors['txtkeuze'] = 'Alles werd ingevuld!';
// We hebben alle gegevens

// Voorbeeld-query voor MySQL-database:

mysql_query("INSERT INTO tblconsumptielln (ID, Datum, Leerling_ID, Drank_ID)

VALUES (
'',
'".mysql_real_escape_string($_SESSION['Date'])."',
'".mysql_real_escape_string($_POST['txtkeuze'])."',
'".mysql_real_escape_string($_POST['txtkeuze'])."'

)") or die (mysql_error());


// Deze query is nu veilig en kunnen we naar de database versturen met mysql_query()

}
}
?>

Wanneer ik het wil wegschrijven krijg ik enkel 1 record te zien in database met de value 0...

Kan er mij iemand helpen?

Thxxx
Zet dit eens bovenin je scripts:

<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

// rest
?>
- SanThe - op 11/09/2011 14:33:53

Zet dit eens bovenin je scripts:

<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

// rest
?>

Dat staat er in

Je vult de sessie niet, en je stuurt de POST-waardes niet mee.
Jacco Brandt op 11/09/2011 18:19:28

Je vult de sessie niet, en je stuurt de POST-waardes niet mee.

Beste

Ik heb enkele zaken gewijzigd. De gegevens worden neergeschreven in de database maar enkel van 1 leerling en niet van de volledige lijst. Hoe komt dit?

Reageren