php mysqli meerdere WHERE mogelijk?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marcus geleyn

marcus geleyn

05/08/2016 21:47:02
Quote Anchor link
Hallo,
ik vraag mij af of er meerdere mogelijkheden zijn om te filteren.
Momenteel heb ik volgende code die werkt:

$sql = "SELECT id, member, email FROM users WHERE land = $keuzeland";

Maar er zouden meer filters bij moeten, onder andere uit die lijst nog eens enkel '$leeftijd' halen en 'ORDER BY plaats' aan toevoegen. Kan dat? Iemand een tip want bij W3Schools stopt het bij bovenstaande $sql-voorbeeld.
Alvast bedankt.
 
PHP hulp

PHP hulp

08/11/2024 09:54:43
 
Ben van Velzen

Ben van Velzen

05/08/2016 21:55:51
Quote Anchor link
Serieus? Beschrijft W3Schools het gebruik van WHERE x = 'x' AND y = 'y' etc niet?
 
Ozzie PHP

Ozzie PHP

05/08/2016 23:55:16
Quote Anchor link
>> Serieus? Beschrijft W3Schools het gebruik van WHERE x = 'x' AND y = 'y' etc niet?

Toch wel hoor:

http://www.w3schools.com/sql/sql_and_or.asp

http://www.w3schools.com/sql/sql_orderby.asp
 
Ben van Velzen

Ben van Velzen

05/08/2016 23:58:18
Quote Anchor link
Dan zal TS er overheen hebben gelezen vermoed ik? :)
 
Ozzie PHP

Ozzie PHP

06/08/2016 00:02:50
Quote Anchor link
Tja ... laten we het daar maar op houden ;-)))
 
Marcus geleyn

marcus geleyn

06/08/2016 00:11:55
Quote Anchor link
Ja, die eenvoudige operators ken ik wel, maar het zou naar een uitgebreidere combinatie moeten gaan en daar zit ik mee in de knoop. Iets zoals:

$sql = "SELECT id, member, email FROM users WHERE land = $keuzeland AND leeftijd = $leeftijd ORDER BY plaats";
 
Ozzie PHP

Ozzie PHP

06/08/2016 00:15:28
Quote Anchor link
Waar zit je mee in de knoop dan? De voorbeelden staan er gewoon ... en je maakt zelf al de query. Ik zie je probleem niet :-s
 
Ben van Velzen

Ben van Velzen

06/08/2016 00:28:34
Quote Anchor link
En voor wat geavanceerdere combinaties kun je altijd haakjes gebruiken voor het groeperen. Bijvoorbeeld om iedereen uit Nederland onder de 18 op te halen en iedereen uit België boven de 18 (yes, raar voorbeeld, maar volgens mij illustreert het de mogelijkheden wel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$sql
= <<<'SQL'
  SELECT
    id,
    land,
    leeftijd,
    member,
    email
  FROM
    users
  WHERE
    (
      land = 'BE'
      AND
      leeftijd > 18
    )
    OR
    (
      land = 'NL'
      AND
      leeftijd <= 18
    )
SQL;
?>


We laten in het midden dat je uiteraard geen leeftijden opslaat maar geboortedatums.
We laten uiteraard ook in het midden dat deze logica niet helemaal correct zou zijn voor de stelling die ik gaf. Maar dat laat ik open als oefening voor de lezer.
Gewijzigd op 06/08/2016 00:31:02 door Ben van Velzen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.