PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Berechnung mit wenn/dann Funktion


Ghost66
31.07.2008, 12:00:58
Hallo,

möchte über PHP eine Berechnung durchführen lassen.
Zum besseren Verständnis , so sieht die Website aus
http://www.hamburg-air.de/crew.php

Bisher muss ich den Wert Status immer per hand ändern. Das möchte ich nun automatisieren.
Dazu hole ich mir aus der DB einen Wert (Datum DB). Dieser Wert soll vom heutigen Datum subtrahiert werden, aus dem Ergebnis richtet sich dann die Ausage
Bei Excel würde das so Aussehen.
=WENN((Datum heute-Datum DB)<30;0;WENN((Datum heute-Datum DB)<60;1;2))

Gibt es in PHP eine gleiche oder ähnliche Funktion und wenn ja wie funktioniert diese?
Gibt es dann noch eine Möglichkeit bei erreichen von Wert 2 eine automatische Mail zu versenden?

Danke für die Hilfe

Reiner

cortex
31.07.2008, 12:27:57
vorne weg: ist dir aufgefallen, dass du im unterforum "fortgeschrittene und experten" gepostet hast?

zu deinem prob: schau dir datums- / zeitfunktionen in php an. mit dem unix-timestamp lässt sich sehr vieles realisieren. eine fertige funktion vergleichbar mit deinen vorstellungen gibts nicht. die geschichte mit den automatischen mails ist selbstverständlich machbar, aber hey... erwartest du ein fertiges skript? wenn du am coden bist und eine konkrete frage hast, wird man dir sicher besser / lieber weiterhelfen.

cx

JuliusCaesar
31.07.2008, 15:44:51
hiervon könnte dir auch was nützen
http://dev.mysql.com/doc/refman/5.1/de/date-and-time-functions.html

aber genauere angaben wären schon nicht schlecht ;)

Ghost66
31.07.2008, 19:18:07
Hi anbei mein Script


@define ("MYSQL_CONNECT_INCLUDE", "connect_db.php");
include(MYSQL_CONNECT_INCLUDE);
$query = "SELECT `date` FROM `reports` WHERE `pilot_id`=32 ORDER BY `date` desc LIMIT 0 , 1";
$datum_db = mysql_query($query);
$datum = getdate();
$ergebnis = bcsub($datum-$datum_db);
if($ergebnis <30) { echo "<img src="images/crew_gruen.gif" alt="" border="0" height="20" width="20">"; }
elseif($ergebnis >30 and <60) { echo "<img src="images/crew_gelb.gif" alt="" border="0" height="20" width="20">";}
else($ergebnis >60) { echo "<img src="images/crew_rot.gif" alt="" border="0" height="20" width="20">";}
mysql_close();
?>


führt derzeit zu folgender Fehlermeldung

Parse error: syntax error, unexpected '<' in /mnt/web5/11/44/51213244/htdocs/crewtest.php on line 1810

das Script beginnt in Zeile 1803

Ich weis nun nicht ob die Berechnung falsch ist oder etwas anderes falsch ist.

Bin mir auf jeden fall unsicher wegen des Datum-Format aus der DB


Reiner

JuliusCaesar
31.07.2008, 19:44:53
nächstes mal bitte die entsprechende zeile markieren ;9

folgendes is tmir aufegfallen
echo "<img src='images/crew_gruen.gif' alt='' border='0' height='20' width='20'>"; }
innerhalb von echo nur ' benutzten und nicht " ;)

Ghost66
31.07.2008, 20:36:46
Hi,

bin mir nicht sicher, aber soviel wie ich weiß kann man zwischen den Anführungsstrichen des echo HTML schreiben.
CS3 setzt es auch so ein.


<?php
@define ("MYSQL_CONNECT_INCLUDE", "connect_db.php"); // MySQL database connection (a sample file is included)
include(MYSQL_CONNECT_INCLUDE);
$query = "SELECT `date` FROM `reports` WHERE `pilot_id`=32 ORDER BY `date` desc LIMIT 0 , 1";
$datum_db = mysql_query($query);
$datum = getdate();
$ergebnis =strtotime($datum)-strtotime($datum_db);
if($ergebnis = <30) { echo "<img src="/images/crew_gruen.gif">"; }
elseif($ergebnis = >30 and <60) { echo "<img src="/images/crew_gelb.gif">";}
else($ergebnis = >60) { echo "<img src="/images/crew_rot.gif">";}
mysql_close();
?>



In der Fehlermeldung bzieht sich der Fehler wahrscheinlich auf das < Zeichen in Zeile 8


Parse error: syntax error, unexpected '<' in /mnt/web5/11/44/51213244/htdocs/crewtest.php on line 1810

Reiner

JuliusCaesar
31.07.2008, 21:20:28
In der Fehlermeldung bzieht sich der Fehler wahrscheinlich auf das < Zeichen in Zeile 8
nicht nur wahrscheinlich sondern zu 100%
haste meinen vorletzten beitrag gelesen?????

Ghost66
31.07.2008, 21:32:15
Hi,

führt leider zur gleichen Fehlermeldung


Reiner