Nummer Hanneke Marielle Hilde Johan Franc Gijsbert
001_____ja______ja_____nee__ja___nee___nee
002_____ja______ja_____nee__ja___nee___nee
003_____ja______ja_____nee__ja___nee___nee
004_____ja______ja_____nee__ja___nee___nee
005_____ja______ja_____nee__ja___nee___nee

Heey allemaal,
hier bovenstaat mijn mysql tabel (hij heet 'opwekking')

Nu wil ik laten tjekken of Hanneke numer 001 kent.(in dit geval dus ja)

ik hab ff gekeken met mysql selelct maar dat lukte me niet kan iemand mij helpen:
Ik zou dus graag willen dat de velden een variabele $ krijgen die ik vervolgens kan tjekken, is dit te brgijpen:P ik hoop het, alvast bedankt

en nee kan trouwens net zo goed niet, dan zegt hij toch gewoon dat dat veld leeg is?
Johan Versteeg schreef op 12.10.2006 16:44
waar staat nummer voor in

.$rij['nummer'].

Voor het veld 'nummer'. Je selecteert de velden uit de kolom 'nummer' die aan een bepaald criterium voldoen.

Met mysql_fetch_array() of mysql_fetch_assoc() worden alle rijen uit het resultaat van je query langs gegaan en in een associatieve array geplaatst. Op die manier kun je ze dus ook weergeven.

Johan Versteeg schreef op 12.10.2006 16:48
en nee kan trouwens net zo goed niet, dan zegt hij toch gewoon dat dat veld leeg is?


Die velden zijn dan natuurlijk wel van het type INT. Dan kun je gewoon in je query dat gegeven gebruiken:

WHERE
    Hanneke = 1
PFF NOU WORD HET LASTIG


ik maak gebruik van:

<?php
/* voorbeeld 1 */

$i = 1;
$x = 1;
echo "<table border=0 cellpadding=5px>\n";
echo "<tr>\n";

while ($i <= 650)
{
echo "<td><center><table style='border: 2px gray solid;' bgcolor=#FFFFCC><tr><th colspan=2>" . $i . "</th></tr>\n";
echo "<tr><td>Hanneke</td> <td><input type=checkbox name=Hanneke".$i." value=on></td></tr>\n";
echo "<tr><td>Marielle</td> <td><input type=checkbox name=Marielle".$i."></td></tr>\n";
echo "<tr><td>Hilde</td> <td><input type=checkbox name=Hilde".$i."></td></tr>\n";
echo "<tr><td>Johan</td> <td><input type=checkbox name=Johan".$i."></td></tr>\n";
echo "<tr><td>Franc</td> <td><input type=checkbox name=Franc".$i."></td></tr>\n";
echo "<tr><td>Gijsbert</td> <td><input type=checkbox name=Gijsbert".$i."></td></tr>\n";

echo "</table></center>\n";
$x++;
$i++;


if ($x == 11)
{
echo "</tr><tr>\n"; $x = 1;
}
}

?>

om een lijst weer te geven met alle nummers(650!!!) nou wil ik als er in de datbase staat dat Hanneke nummer 001 kent dat dat vinkje word aan ge kruist,
is dat mogelijk? (met checked bedoel ik he)
Je zou binnen je while loop elke keer een query uit kunnen voeren waarbij je controleert of de verschillende personen dat nummer kennen. En aan de hand daarvan bepalen of een vakje wel/niet gechecked moet zijn.

Echt betekent dat er elke keer als de pagina geladen wordt 650 queries uitgevoerd moeten worden. Het laden van de pagina duurt hier lokaal al redelijk lang, en dat is nog zonder database connectie. Dus ik zou zeker overwegen om dit onder te verdelen in meerdere pagina's!

Een andere oplossing is misschien eerst alle gegevens in een array te zetten, zodat je niet 650 die query hoeft uit te voeren. Met onderstaande zou iedere naam een array krijgen waarin voor elk nummer aangegeven is of iemand het wel kent of niet.

<?php
$sql = "
SELECT
Hanneke,
Marielle,
Hilde,
Johan,
Franc,
Gijsbrecht
FROM
opwekking
";

if(!$res = mysql_query($sql))
{
trigger_error(mysql_error());
}
else
{
while($row = mysql_fetch_assoc($res))
{
$Hanneke[$row['nummer']] = $row['Hanneke'];
$Marielle[$row['nummer']] = $row['Marielle'];
$Hilde[$row['nummer']] = $row['Hilde'];
$Johan[$row['nummer']] = $row['Johan'];
$Franc[$row['nummer']] = $row['Franc'];
$Gijsbrecht[$row['nummer']] = $row['Gijsbrecht'];
}
}
?>
Tip: Ga je eens verdiepen in databasenormalisatie, het samenstellen van een goed databasemodel. Daar klopt op zijn zachts gezegd weinig van, het heeft niets met een relationele database te maken. En dat is jammer, daarmee maak je het jezelf onnodig lastig.

Zie http://www.phphulp.nl/php/tutorials/3/150/ voor een heldere uitleg. Let op, dit is niet iets wat je binnen een uurtje onder knie hebt, je zult er echt voor moeten gaan zitten en er mee aan de slag gaan. Maar wanneer het licht eenmaal is gaan schijnen, dan zul je er heel veel voordeel van hebben.

Succes!

Reageren