Ik heb twee tabellen met informatie.
De ene tabel bestaat uit 500 records wielrenners, van Abakoumov tot Zubeldia. De tweede tabel bestaat uit ploegen, die worden ingevuld door deelnemers aan het wielerspelletje.
De wielrennerstabel heeft een kolom 'ploegID' die overeenkomt met de ID in de ploegentabel.
Nu wil ik dmv een (volgens mij tamelijk eenvoudige) innerjoin de boel aan elkaar vastknuppen en met
doet dit ook wat ik wil. (zie http://www.klassikaprikma...ndex.php?page=renners.php)
Nu wil ik echter een zoekfunctietje en een alfabet functietje erbij hebben. maar dan geeftie de renner plotseling drie keer (voor elke ploeg in de database).
of bijvoorbeeld
(Zie http://www.klassikaprikma...ndex.php?page=renners.php en speel een beetje met de linkjes, formpjes)
Ik begrijp niet precies wat er misgaat, immers de where regel die in de eerste query prima functioneert lijkt nu plotseling door die AND niet meer te werken. Iemand enig idee?
De ene tabel bestaat uit 500 records wielrenners, van Abakoumov tot Zubeldia. De tweede tabel bestaat uit ploegen, die worden ingevuld door deelnemers aan het wielerspelletje.
De wielrennerstabel heeft een kolom 'ploegID' die overeenkomt met de ID in de ploegentabel.
Nu wil ik dmv een (volgens mij tamelijk eenvoudige) innerjoin de boel aan elkaar vastknuppen en met
PHP:
1
2
3
4
5
6
7
8
9
| $sql = "SELECT ".$table['renners'].".ID, ".$table['renners'].".naam, ".$table['renners'].".nationaliteit_ico, ".$table['ploegen'].".naam, ".$table['ploegen'].".ID FROM ".$table['renners'].", ".$table['ploegen']." WHERE ".$table['renners'].".ploegID=".$table['ploegen'].".ID ORDER by ".$_GET['sort']." ASC LIMIT ".$_GET['start'].", ".$_GET['limiter']; |
doet dit ook wat ik wil. (zie http://www.klassikaprikma...ndex.php?page=renners.php)
Nu wil ik echter een zoekfunctietje en een alfabet functietje erbij hebben. maar dan geeftie de renner plotseling drie keer (voor elke ploeg in de database).
PHP:
1
2
3
4
5
6
7
8
9
10
11
| $sql = "SELECT ".$table['renners'].".ID, ".$table['renners'].".naam, ".$table['renners'].".nationaliteit_ico, ".$table['ploegen'].".naam, ".$table['ploegen'].".ID FROM ".$table['renners'].", ".$table['ploegen']." WHERE ".$table['renners'].".naam LIKE '%".$_GET['rennernaam']."%' OR ".$table['renners'].".naam LIKE '%".strtoupper($_GET['rennernaam'])."%' AND ".$table['renners'].".ploegID=".$table['ploegen'].".ID ORDER by ".$table['renners'].".naam ASC LIMIT ".$_GET['start'].", ".$_GET['limiter']; |
of bijvoorbeeld
PHP:
1
2
3
4
5
6
7
8
9
10
11
| $sql = "SELECT ".$table['renners'].".ID, ".$table['renners'].".naam, ".$table['renners'].".nationaliteit_ico, ".$table['ploegen'].".naam, ".$table['ploegen'].".ID FROM ".$table['renners'].", ".$table['ploegen']." WHERE ".$table['renners'].".ploegID='".$table['ploegen'].".ID' AND ".$table['renners'].".naam LIKE '".$_GET['renletter']."%' OR ".$table['renners'].".naam LIKE '".strtoupper($_GET['renletter'])."%' ORDER by ".$table['renners'].".naam ASC LIMIT ".$_GET['start'].", ".$_GET['limiter']; |
(Zie http://www.klassikaprikma...ndex.php?page=renners.php en speel een beetje met de linkjes, formpjes)
Ik begrijp niet precies wat er misgaat, immers de where regel die in de eerste query prima functioneert lijkt nu plotseling door die AND niet meer te werken. Iemand enig idee?