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, 3955 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 ...

Windows Server
gelöst Hyper-V Basiswissen: Fehler in VHDX, alle Daten verloren? (11)

Frage von Lollipop zum Thema Windows Server ...

Webentwicklung
Angular Daten an localhost senden (1)

Frage von tobmes zum Thema Webentwicklung ...

Heiß diskutierte Inhalte
Windows 7
gelöst BOOTMGR is missing (auch nach bootrec -RebuildBcd) (20)

Frage von Mipronimo zum Thema Windows 7 ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (19)

Frage von oel-auge zum Thema Router & Routing ...

Windows Userverwaltung
Windows Freigabe: Zugriff auf alle Ordner trotz Sicherheitseinstellungen (17)

Frage von Pandreas zum Thema Windows Userverwaltung ...

TK-Netze & Geräte
gelöst Convert von TAPI auf CAPI gesucht (13)

Frage von StefanKittel zum Thema TK-Netze & Geräte ...