Mensen ik zit met hetvolgende probleem (waarover ik me wat schaam om het te vragen zelfs)

ik heb een checkbox in een loop zitten:

<?PHP
for($i=0; $assoc = mysql_fetch_assoc($query); $i++) {
echo'<input type="checkbox" name="Thismail" value="'.$assoc['mail'].'" />';
}
?>

dit lukt allemaal goed behalve het oproepen, ik werk niet veel (of beter gezegd nooit) met foreach en ik bedacht dus dit:

<?PHP

foreach($_POST['Thismail'] as $value) {
mail($value,$titel,$content,$header);
}

?>

maar dit schijnt niet te lukken...wat doe ik hier fout?


bijkomende vraag: als ik een assoc oproep, hoe zet ik die dan in een foreach?
Geef dan wel een array op als naam van je checkboxen:

name="Thismail[]"


ik dacht dat je je checkboxes dezelfde naam moest geven? doe ik dan daar iets fout?

hoe zou jij het doen?
Ja, dus allemaal de naam 'Thismail[]', een array. In de verwerking kun je de resultaten dat terug vinden in de array $_POST['Thismail'].

Arrays als naam voor inputvelden

Zie ook dit voorbeeld van hoe je met arrays als naam voor inputvelden werkt...
dus mijn foreach klopt als ik dit voorbeeld zo bekijk...of heb ik dat fout?


en hoe doe ik dat dan met een mysql_fetch_assoc?
Je foreach loop klopt inderdaad. Wat wil je verder met mysql_fetch_assoc bereiken, dat volg ik niet helemaal?
stel ik roep hetvolgende op:

$assoc = mysql_fetch_assoc(mysql_query("SELECT naam FROM tabel"));

ik wil deze namen die ik uit de tabel haal graag tonen maar daarvoor heb ik een loop nodig.
hoe verwerk ik deze dan in een foreach? ik doe het nu steeds met een for loop maar een foreach is vaak minder omslachtig en mooier.
Gebruik een while loop:
<?php
$result = mysql_query(...);

// Eerst controleren of query wel gelukt is
while($row = mysql_fetch_assoc($result))
{
// Records staan nu in $row
}
?>
dat is ook een oplossing ;)

Blanche, heel erg bedankt voor je hulp!
Tikkes schreef op 14.12.2008 22:18
dat is ook een oplossing ;)
Dat is de meest gebruikelijke oplossing.

Graag gedaan verder, succes verder ;-)

Reageren