Meerdere databases / functies optellen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Furio Scripting

Furio Scripting

07/07/2016 13:20:51
Quote Anchor link
Beste forumleden,

Ik ben bezig met een dashboard te maken waarin we de statistieken weergeven van 6 webshops.

Wat ik heb gedaan is 6 verschillende database bestanden aangemaakt met de juiste database informatie.

Vervolgens een functie.php bestand aangemaakt en daarin voor iedere webshop een funcite gemaakt welke de bestellingen van vandaag ophaalt, dit werkt prima.

Nu wil ik deze functies bij elkaar optellen maar hier gaat het mis.

Dit is de code:

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php

 function verkrijgLaserpengigantBestellingenVandaag()
    {


        // Pak alle bestellingen van vandaag en met de status in behandeling of verzonden.
        $database = new databaseGigant();

        $q = 'SELECT * FROM oc_order WHERE (order_status_id = 1 OR order_status_id = 15) AND YEAR(date_added) = YEAR(NOW()) AND MONTH(date_added) = MONTH(NOW()) AND DAY(date_added) = DAY(NOW()) ';
        $result = $database->query($q);

        return mysqli_num_rows($result);

    }

    
    // Laserpointershop.co.uk
    function verkrijgLaserpointershopBestellingenVandaag()
    {


        // Pak alle bestellingen van vandaag en met de status in behandeling of verzonden.
        $database = new databasepointershop();

        $q = 'SELECT * FROM oc_order WHERE (order_status_id = 3 OR order_status_id = 1) AND YEAR(date_added) = YEAR(NOW()) AND MONTH(date_added) = MONTH(NOW()) AND DAY(date_added) = DAY(NOW()) ';
        $result = $database->query($q);

        return mysqli_num_rows($result);

    }

    // Laserpointeronline.de
    function verkrijgLaserpointeronlineBestellingenVandaag()
    {


        // Pak alle bestellingen van vandaag en met de status in behandeling of verzonden.
        $database = new databasepointeronline();

        $q = 'SELECT * FROM oc_order WHERE (order_status_id = 3 OR order_status_id = 1) AND YEAR(date_added) = YEAR(NOW()) AND MONTH(date_added) = MONTH(NOW()) AND DAY(date_added) = DAY(NOW()) ';
        $result = $database->query($q);

        return mysqli_num_rows($result);

    }



 [
code]<?php echo verkrijgLaserpointeronlineBestellingenVandaag() + verkrijgLaserpointershopBestellingenVandaag() +  verkrijgLaserpengigantBestellingenVandaag(); ?>


?>


Ik krijg helaas alleen een notice: Constant DBHOST already defined in .... zelfde voor Notice: Constant DBUSER already defined Notice: Constant DBPASS already defined

Hoe krijg ik deze gegevens bij elkaar opgeteld?
 
PHP hulp

PHP hulp

23/11/2024 14:01:07
 
- SanThe -

- SanThe -

07/07/2016 13:24:38
Quote Anchor link
DBHOST is blijkbaar een constante, dan kan je die niet wijzigen of opnieuw aanmaken.
 
Furio Scripting

Furio Scripting

07/07/2016 13:33:08
Quote Anchor link
Het werkte blijkbaar wel, ik zag het aantal niet omdat php errors aan stond, hij output dus wel de juiste aantallen, excuses!
 
- Ariën  -
Beheerder

- Ariën -

07/07/2016 15:00:02
Quote Anchor link
Is het niet verstandiger om de herhalende functies aan te passen naar een enkele functie die alles ophaalt en optelt? Aan de hand van een array kan je een prima lijst van je webshops samenstellen, die in een foreach uitgelezen worden, en opgeteld kunnen worden.

Dan hoef je niet voor elke webshop een functie aan te maken, of door een typfout erin verkeerde waardes krijgen.
 
Thomas van den Heuvel

Thomas van den Heuvel

07/07/2016 15:58:46
Quote Anchor link
Dit is ook niet het idee van functies. Je creëert nu tig functies die ongeveer precies hetzelfde doen. Het enige criterium wat verschilt is de database. Waarom maak je daar dan geen parameter van? Dan kun je volstaan met één functie.

En hoef je de query ook maar één keer te optimaliseren.

Wellicht was het ook handiger geweest wanneer deze informatie van meerdere webshops ondergebracht was in één database, als dat mogelijk is.
Gewijzigd op 07/07/2016 16:00:08 door Thomas van den Heuvel
 



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.