Meerdere databases / functies optellen
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)
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
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(); ?>
?>
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?
DBHOST is blijkbaar een constante, dan kan je die niet wijzigen of opnieuw aanmaken.
Het werkte blijkbaar wel, ik zag het aantal niet omdat php errors aan stond, hij output dus wel de juiste aantallen, excuses!
Dan hoef je niet voor elke webshop een functie aan te maken, of door een typfout erin verkeerde waardes krijgen.
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