Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

2 Daten miteinander vergleichen? - Fehler?

Frage Entwicklung PHP

Mitglied: 46356

46356 (Level 2)

28.06.2009, aktualisiert 18:56 Uhr, 3970 Aufrufe, 2 Kommentare

Schönen Abend.


Um verschiedene Bilanzen auszugeben, habe ich mit PHP ein kleines Script erstellt:

01.
			$date_today = date("d.m.Y"); $time = date("H.i"); 
02.
				$mktimev1 = mktime(0, 0, 0, date("m")-3, date("d"),  date("Y")); 
03.
			$date_3mago = date("d.m.Y",$mktimev1); 
04.
							$mktimev1 = mktime(0, 0, 0, date("m"), date("d"),  date("Y")-1); 
05.
			$date_12mago = date("d.m.Y",$mktimev1); 
06.
 
07.
			// Article Query - 1DAY 
08.
			$abfrage = "SELECT ID, Datum, Status, Beschreibung, Preis FROM article WHERE Status = 'Verkauft' AND Datum = '$date_today'"
09.
			$ergebnis = mysql_query($abfrage) or die(mysql_error()); while($row = mysql_fetch_object($ergebnis))	{ $sumtoday += $row->Preis;	}		 
10.
			 
11.
			// Article Query - 3MO 
12.
			$abfrage = "SELECT ID, Datum, Status, Beschreibung, Preis FROM article WHERE Status = 'Verkauft' AND Datum >= '$date_3mago' AND Datum <= '$date_today'"
13.
			$ergebnis = mysql_query($abfrage) or die(mysql_error()); while($row = mysql_fetch_object($ergebnis))	{ $sum3mo += $row->Preis; } 
14.
			 
15.
			// Article Query - 1YEAR 
16.
			$abfrage = "SELECT ID, Datum, Status, Beschreibung, Preis FROM article WHERE Status = 'Verkauft' AND Datum >= '$date_12mago' AND Datum <= '$date_today'"
17.
			$ergebnis = mysql_query($abfrage) or die(mysql_error()); while($row = mysql_fetch_object($ergebnis))	{ $sum1Y += $row->Preis;	} 
18.
			 
19.
			echo $sumtoday."<br>".$sum3mo."<br>".$sum1Y;
Es wird das aktuelle Datum vom Server genommen und mit mktime einmal 3 Monate und einmal ein Jahr zurückgerechnet.
Nun sollte logischerweise der Jahresumsatz größer gleich den anderen Umsätzen sein. Dies ist jedoch nicht der Fall [...].
--> Der 3 Monats Rückblick ist am größten und der Tages bzw. der Rahresrückblick gleich groß :o ?

Die 3 Monate Rückschau funktioniert.
Nur die Jahres Rückschau nicht.



Freue mich auf Antworten,
Alex
Mitglied: filippg
28.06.2009 um 20:09 Uhr
Hallo,

drei Dinge fallen auf:
1. Der Code ist bescheiden formatiert. Bei einer Anweisung pro Zeile und Einrücken von Blocks (z.B. while-Schleife) sieht man Fehler viel leichter
2. Die $sum-Variablen werden gleich mit += verwendet. Es schadet überhaupt nichts, sie vorher auf 0 zu setzen.
3. Die Summen in PHP zu bilden ist nur begrenzt geschickt. MySQL kann das letztlich besser. SELECT SUM(Preis) FROM article WHERE status = 'Verkauft' AND DATUM...
Und wenn du dann zum Debugging $abfrage ausgeben lässt bin ich mir sicher, der Fehler ist schnell gefunden.

Gruß

Filipp
Bitte warten ..
Mitglied: 46356
28.06.2009 um 21:59 Uhr
Hallo Filipp!

Danke für Deine Antwort.

Zu 1.:
In meinem Editor (Aptana) wird der Code anderst dargestellt - sprich formatiert. Ich hab ihn einfach reinkopiert und nicht nachformatiert.

Das mit 2. und 3. klingt recht vielversprechend.
Werde es gleich morgen ausprobieren und dann bescheid geben

Grüße,

Alexander
Bitte warten ..
Ähnliche Inhalte
Windows Server
AD-Berechtigungen von zwei Servern miteinander vergleichen (3)

Frage von s0m3ting zum Thema Windows Server ...

Datenbanken
SQL restore bringt Fehler (2)

Frage von franksig zum Thema Datenbanken ...

Windows Netzwerk
gelöst Nur Firefox mit Proxy bringt fehler, ohne Proxy geht es (11)

Frage von WinLiCLI zum Thema Windows Netzwerk ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (52)

Frage von sabines zum Thema Internet ...

Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (25)

Frage von aschmid zum Thema Router & Routing ...

Windows Server
gelöst Windows 2016 Hyper-V und VHDS (19)

Frage von emeriks zum Thema Windows Server ...