WHERE conditie zorgt voor 0 resultaten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jop B

Jop B

03/03/2020 13:23:24
Quote Anchor link
Goedemiddag,


Om mijn resultaten nog beter naar voren te krijgen heb ik vandaag een WHERE conditie toegevoegd aan mijn query.
Echter na deze wijziging in de query krijg ik helemaal geen resultaten meer.

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
<?php
        $sql
= "
            SELECT
                $relation.menuid,
                $food_table.name foodname,
                $food_table.price foodprice,
                $food_table.foodorder foodorder,
                $food_table.veget foodveget,
                $food_table.vegan foodvegan,
                $groups_table.catorder,
                GROUP_CONCAT($groups_table.catname ORDER BY $groups_table.catname SEPARATOR ', ') foodcats
            FROM
                $relation
            JOIN $food_table ON $relation.menuid = $food_table.id
            JOIN $groups_table ON $relation.groupid = $groups_table.id
            GROUP BY $relation.menuid
            ORDER BY $groups_table.catorder, $groups_table.catname, foodorder, foodname
//deze regel heb ik toegevoegd
            WHERE $groups_table.type=1
        "
;
?>


Ik wil de resultaten dus filteren als kolom type het cijfer 1 bevat.
Gewijzigd op 03/03/2020 13:24:45 door Jop B
 
PHP hulp

PHP hulp

20/04/2024 09:00:51
 
- Ariën  -
Beheerder

- Ariën -

03/03/2020 13:25:26
Quote Anchor link
Echo je $sql eens, want er staan een hoop variabelen in, waarvan er mogelijk een niet goed gevuld wordt?
 
Jop B

Jop B

03/03/2020 13:29:19
Quote Anchor link
Hallo Ariën,


De tabelnamen staan in variabelen omdat het een plugin betreft.
Zodra ik de WHERE conditie eruit laat krijg ik alle records terug.
 
- Ariën  -
Beheerder

- Ariën -

03/03/2020 13:30:41
Quote Anchor link
Ik gok dat die WHERE in je JOIN hoort.
 
Jop B

Jop B

03/03/2020 13:34:03
Quote Anchor link
Jep die groups table zit in een JOIN op regel 15
 
Thomas van den Heuvel

Thomas van den Heuvel

03/03/2020 19:22:43
Quote Anchor link
De syntax van je SELECT-statement klopt niet. De WHERE-conditie staat op de verkeerde plaats. Dit zorgt ervoor dat je SELECT-query false retourneert in PHP als je deze probeert uit te voeren. En daarbij lijkt het er dus op dat je geen (goede of iig niet afdoende) foutafhandeling in de query-uitvoer hebt zitten omdat het niet wordt opgepikt dat je queries de verkeerde vorm hebben.
 
Jop B

Jop B

04/03/2020 13:07:26
Quote Anchor link
Hi Thomas,


Heb de WHERE conditie verplaatst in de query. ik krijg nu het gewenste resultaat :-)

WHERE komt als eerst volgende achter de laatste JOIN
 
- Ariën  -
Beheerder

- Ariën -

04/03/2020 13:32:32
Quote Anchor link
Inderdaad ;-)
Je had natuurlijk ook de query kunnen echo'n en in je SQL-programma (bijv. phpMyAdmin) gooien.

Maar goede fout-afhandeling is natuurlijk het beste.
 



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.