Check boxes automatisch aanvinken met voorwaarde
Ik moet een soort dating bureau opzetten, leuk project.. maar ik loop tegen een heel leuk probleem.. NOT..
Ik moet bij het bewerken van de klant de gekozen hobby's automatisch laten aanvinken in de checkboxes zodat de luie mensen het zelf niet meer hoeven te doen.
Opzich is dit niet lastig.. ik compare ze gewoon.. maar om een of andere vage reden werkt het niet :S
ik heb in dit geval data nodig uit twee tabellen:
Tabel 1: hobbies
_______________
hobbie_id = PK
hobbie
Tabel 2: hobbiekoppel
_______________
hobbie_id = PK
klant_id = PK
ik voer twee queries uit en lees de resultaten hiervan uit met while loops.
$_GET['klant'] is het klant nummer
iets like:
$get_hobbies = mysql_query("SELECT * FROM hobbiekoppel INNER JOIN hobbies ON hobbiekoppel.hobbie_id=hobbies.hobbie_id WHERE klant_id='".$_GET['klant']."' ");
$get_allhobbies = mysql_query("SELECT * FROM hobbies");
while($row_allhobbies = mysql_fetch_array($get_allhobbies))
{
while($row_hobbies = mysql_fetch_array($get_hobbies))
{
if($row_hobbies['hobbie_id'] == $row_allhobbies['hobbie_id'])
{
// echo de checkbox gechecked..
}
else
{
// echo de checkbox niet gechecked..
}
}
}
Dit is even een voorbeeld.. ik heb de code niet bij me, is examen werk..
Maar ik krijg echt mateloos irritante resultaten met deze manier, ik krijg of het aantal hobbies van de klant maal het aantal hobbies totaal.. of ik krijg alleen maar de hobbies van de klant.. ik weet niet meer wat ik fout doe :S
Als iemand een helder idee heeft laat het alsjeblieft weten!
Alvast bedankt.
Groeten Remco.
Na ff ploeteren heb ik een opplossing :D haha
ik zal hem natuurlijk even delen voor mensen die hier ook problemen mee hebben gehad.
Ik vroeg me alleen af of die dubbele while in dit geval echt nodig is.. dat is me niet helemaal duidelijk, zou iemand mij dit kunnen vertellen ?
Zonder heb ik hem niet aan de praat gekregen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
include('dbconnect.php');
$get_allhobbies = mysql_query("SELECT * FROM hobbies");
while($row_allhobbies = mysql_fetch_array($get_allhobbies))
{
echo $row_allhobbies['hobbie'];
$get_hobbies = mysql_query("SELECT * FROM hobbiekoppel WHERE klant_id='1' ");
while($row_hobbies = mysql_fetch_array($get_hobbies))
{
if($row_hobbies['hobbie_id'] == $row_allhobbies['hobbie_id'])
{
$checked[$row_allhobbies['hobbie_id']] = "checked";
}
else
{
}
}
if($checked[$row_allhobbies['hobbie_id']] == "checked")
{
echo "<input type='checkbox' CHECKED>";
}
else
{
echo "<input type='checkbox'>";
}
echo "<br>";
}
?>
include('dbconnect.php');
$get_allhobbies = mysql_query("SELECT * FROM hobbies");
while($row_allhobbies = mysql_fetch_array($get_allhobbies))
{
echo $row_allhobbies['hobbie'];
$get_hobbies = mysql_query("SELECT * FROM hobbiekoppel WHERE klant_id='1' ");
while($row_hobbies = mysql_fetch_array($get_hobbies))
{
if($row_hobbies['hobbie_id'] == $row_allhobbies['hobbie_id'])
{
$checked[$row_allhobbies['hobbie_id']] = "checked";
}
else
{
}
}
if($checked[$row_allhobbies['hobbie_id']] == "checked")
{
echo "<input type='checkbox' CHECKED>";
}
else
{
echo "<input type='checkbox'>";
}
echo "<br>";
}
?>
Ik heb wat simpele voorbeeldjes gebruikt om te testen of het werkt natuurlijk.
Mvg,
Remco
Quote:
bedankt trouwens, moet wel goed komen ;)