7.5k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von max1511 Einsteiger_in (47 Punkte)
Hallo Zusammen

Ich hab das Problem, dass eine PHP Datei Werte von der MySQL holt. MySQL 5.x hat, so viel ich verstanden habe, den maximalwert von 838:59:59. Die Werte werden mit den folgenden Zeilen geholt:

$query = "SELECT sec_to_time(sum(time_to_sec(TotalBlockTime))) FROM flights ".$condition;
$result=mysql_query($query);
$TFT = mysql_result($result,0);

Ehrlich gesagt, hab ich keine Ahnung in diesem Gebiet. Wie muss der Code lauten, damit die PHP Datei einen höheren Wert als 838:59:59 anzeigen kann, z.B. 901:15:31?

Grüsse
Alexander

21 Antworten

0 Punkte
Beantwortet von max1511 Einsteiger_in (47 Punkte)
Es gab nur zwei Orte mit SEC_TO_TIME( ... ):

Der erste Ort:
# total flight time / block time
$query = "SELECT sec_to_time(sum(time_to_sec(TotalBlockTime))) FROM flights ".$condition;
$result=mysql_query($query);
$TFT = number_format(mysql_result($result,0));


Ein paar Zeilen weiter unten gab es dann mit $TFT der Wert an. Dies wurde durch deine Änderung korrigiert und funktioniert auch.

Der zweite Ort:
$query = "SELECT PilotName, COUNT(PilotName) as TnF, SEC_TO_TIME(SUM(TIME_TO_SEC(TotalBlockTime))) AS TTotalBlockTime, SUM(NbrPassengers) AS TNbrPassengers, SUM(BonusPoints) AS TBonusPoints, SUM(PenalityPoints) AS TPenalityPoints, SUM(BonusPoints - PenalityPoints) AS TotalPoint FROM flights GROUP BY PilotName ORDER BY $sortColumn LIMIT $pStart,$pageLines";
if(!$result=mysql_query($query))
{
echo "SQL Error - ".mysql_error()."<br>".$query;
return;
}


Und eben hier gibt es noch Probleme. Wenn ich der Code SEC_TO_TIME(SUM(TIME_TO_SEC(TotalBlockTime))) AS TTotalBlockTime wegnehmen würde, zeigt es die Zeit nicht mehr an. Die Spalte bleibt aber. Alles andere wird immer noch einwandfrei angezeigt. Ich vermute, dieses Code holt direkt den Wert aus der MySQL und zeigt es auf der Homepage gleichzeitig an.

Aber deine Änderung zeigt dann die Zeit nur in Sekunden an. Entweder fehlt etwas in diesem Script oder eben hier muss der Wurm sein.
...