Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[MySQL] Wildcard bij '='?

Annie
3 antwoorden
  • Ik ben nog niet zo heel lang met PHP / MySQL bezig, maar het begint aardig te lukken.
    Nu zit ik met het volgende probleem: Hoe gebruik ik een wildcard achter het 'WHERE' statement?

    Ik zal eerst uitleggen waarom, want als je toch alles wilt zien kun je normaal gesproken ook het hele WHERE ding weglaten natuurlijk.

    Ik ben bezig een foto gallery in PHP te maken met daarin categorieen en een dropdown menuutje waarin men een categorie kan kiezen, of gewoon voor 'alles' kan kiezen.
    De query die ik daar bji heb is:
    [code:1:8a98c223a4]SELECT * FROM afbeeldingen WHERE categorie = '$pagecat'[/code:1:8a98c223a4]
    Waarbij $pagecat dan staat voor de actuele categorie die de bezoeker heeft gekozen.
    Kiest de bezoeker echter voor de optie om 'Alles' te zien, dan moet er dus een wildcard in $pagecat worden gezet.

    Indien het gewoon niet mogelijk is om een wildcard te gebruiken achter '=' zou ik danwel voor "LIKE" kunnen kiezen, maar dat lijkt me weer erg belastend voor de server (of valt dat mee?)
    Een andere optie is om [code:1:8a98c223a4]SELECT * FROM afbeeldingen[/code:1:8a98c223a4] te gebruiken en indien de bezoeker niet voor 'Alles' kiest m.b.v. een IF() er nog [code:1:8a98c223a4]WHERE categorie = '$pagecat'[/code:1:8a98c223a4] achter te bouwen. maar dat lijkt me weer erg omslachtig. Als ik een wildcard achter de '=' kon gebruiken is het sowieso allemaal niet nodig.

    iemand een idee?
  • wat ik zelf altijd doe in zo'n geval is je laatste idee - jij vindt t omslachtig:
    $sql = "SELECT * FROM afbeeldingen" . ($pagecat == 'alles') ? "" . "WHERE categorie = '$pagecat'";
  • Ik drukte me niet helemaal goed uit. Op zich vind ik het niet te omslachtig voor mezelf, maar wat ik bedoel is dat er "recourse matig" wellicht een elegantere manier bestaat.
    Het zijn maar een paar regeltjes extra code en van de beide alternatieven vind ik dit idd wel de beste.
    Ik vraag me alleen af of ik dit niet gewoon helemaal in SQL kan oplossen, en dan zonder 'LIKE' te gebruiken.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.