Ik ben bezig met een ledenadministratie van een vereniging. Alle adressen zitten in een database, leden kunnen zelf info aanpassen, etc. Werkt allemaal perfect. Maar nu heeft de redactie van het clubblad gevraagd om een lijst met alle adressen. Als er meerdere leden op één adres wonen (de hele familie is soms lid), moet er maar één keer zo'n adres tevoorschijn komen op het stickervel.
Ik begin zo:
Nu heb ik dus geen enkel adres dubbel. Tot zover prima. Indien er in de laatste query maar 1 lid uit komt, is het gewoon $voornaam $achternaam uitpoepen. Echter, als er meerdere leden zijn op dat adres moet er komen te staan 'Familie $achternaam'. Ook dat is geen probleem.
Het ingewikkelde is dat er meerdere achternamen kunnen zijn op één adres. De vader en kinderen heten Jansen en de moeder De Vries. Ik wil dus zorgen dat er 'Fam. Jansen' komt te staan, en niet 'Fam. De Vries'. Iemand die mij op weg kan helpen?
Ik begin zo:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| $stickers = array(); $query = mysql_query("SELECT * FROM `leden` ORDER BY achternaam"); while($list = mysql_fetch_object($query)) { //kijken of adres al in de array staat, anders in array plaatsen if (!in_array($list->adres, $stickers)) { array_push($stickers, $list->adres); } } foreach ($stickers as $key => $value) { //namen bij het adres vinden $query2 = mysql_query("SELECT * FROM leden WHERE adres = '$value'"); |
Nu heb ik dus geen enkel adres dubbel. Tot zover prima. Indien er in de laatste query maar 1 lid uit komt, is het gewoon $voornaam $achternaam uitpoepen. Echter, als er meerdere leden zijn op dat adres moet er komen te staan 'Familie $achternaam'. Ook dat is geen probleem.
PHP:
1
2
3
4
5
6
7
8
9
| if (mysql_num_rows($query2) == 1) { echo "$voornaam $achternaam"; } else //er zijn hier meerdere personen op het adres { //tja, wat moet hier? } } |
Het ingewikkelde is dat er meerdere achternamen kunnen zijn op één adres. De vader en kinderen heten Jansen en de moeder De Vries. Ik wil dus zorgen dat er 'Fam. Jansen' komt te staan, en niet 'Fam. De Vries'. Iemand die mij op weg kan helpen?