PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   mit Datensätzen rechnen (http://www.selfphp.de/forum/showthread.php?t=17536)

theresa 30.08.2007 08:27:52

mit Datensätzen rechnen
 
Hi

Ich sollte mit dem vorherigen Datensatz rechnen. Also die Differzenz zwischen

[1]=> string(10) "1177970399" ["vermietung_bis"]=> string(10) "1177970399"

vom ersten Datensatz und

[0]=> string(10) "1177975601" ["vermietung_ab"]=> string(10) "1177975601"

vom zweiten Datensatz. Im obigen Fall gäbe dies 5203




Konkret sieht es so aus, rep. bin ich soweit:

Code
PHP-Code:

$query "SELECT DISTINCT * FROM DB";
$result mysql_query($query,$link);
$num mysql_num_rows($result);
while (
$row mysql_fetch_array($result))

var_dump($row);


Resultat

array(8) { [0]=> string(10) "1096581601" ["vermietung_ab"]=> string(10) "1096581601" [1]=> string(10) "1177970399" ["vermietung_bis"]=> string(10) "1177970399" [2]=> string(2) "38" ["wohnung_id"]=> string(2) "38" [3]=> string(3) "233" ["vertrag_id"]=> string(3) "233" }

array(8) { [0]=> string(10) "1177975601" ["vermietung_ab"]=> string(10) "1177975601" [1]=> string(10) "1185919199" ["vermietung_bis"]=> string(10) "1185919199" [2]=> string(2) "38" ["wohnung_id"]=> string(2) "38" [3]=> string(3) "713" ["vertrag_id"]=> string(3) "713" }

array(8) { [0]=> string(10) "1185919201" ["vermietung_ab"]=> string(10) "1185919201" [1]=> string(10) "2147483647" ["vermietung_bis"]=> string(10) "2147483647" [2]=> string(2) "38" ["wohnung_id"]=> string(2) "38" [3]=> string(3) "787" ["vertrag_id"]=> string(3) "787" }

z0iD 30.08.2007 09:48:34

AW: mit Datensätzen rechnen
 
Bist Du so lieb und hilfst mir auf die Sprünge; Ich find die Frage/das Problem nicht.

P.S.: Außerdem ist abziehen so eine Sache. Zwei Dinge subtrahieren ist denkbar einfach, aber beliebig viele? Paarweise abziehen?

theresa 30.08.2007 10:10:19

AW: mit Datensätzen rechnen
 
Gerne versuche ich es auf deutsch zu schreiben

Es handelt sich um Verträge von Objekten. Und nun sollte ich die Leerzeiten auslesen. Also zuerst hole ich die Verträge zu den einzelnen Objekten. Und dann sollte ich die Differenz zwischen dem Abschluss des ersten Vertrages (vermietung_bis) zum Start des 2. Vertrages (vermietung_ab) haben

Was oben ausgeben ist, sind drei Datensätze

z0iD 30.08.2007 10:42:34

AW: mit Datensätzen rechnen
 
Ich nehme mal an, dass eine Überlappung nicht möglich ist, dass also das Enddatum von einem beliebigen Vertrag a genau dann vor einem Startdatum und Enddatum eines Vertrages b liegt, wenn auch das Startdatum von a davor liegt (wobei a != b).

Dann musst Du nur nach dem Startdatum sortieren. Anschließend kannst Du bequem die einzelnen Differenzen einzeln berechnen. Falls gewünscht kannst Du jene dann alle addieren um die Gesamtzeit zu berechnen.

Dazu fällt mir grad nix schlaueres ein als usort(). Spezifikation findest Du in der hauseigenen Funktionsreferenz.

Bitte bescheid sagen falls noch Unklarheiten bestehen, oder ich - malwieder - an der Frage vorbeigeantwortet habe.

Grüße

z0iD 30.08.2007 10:45:51

AW: mit Datensätzen rechnen
 
Nachtrag:
Schneller gehts wohl direkt per SQL. Vielleicht weiß ja ein SQL Spezi eine abgefahrene Abfrage dafür. Gehen müsste es auf jeden Fall irgendwie.


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:30:43 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.