Wie kann ich diese Arrays vergleichen?
Christian Säum
- php
0 PHP_Dude
Hey ihr ich habe folgendes Problem!
Ich habe aus meiner Datenbank ein Array mit werten geholt!
Nun möchte ich bevor ich die werte in eine Tabelle schreibe sie erst vergleichen und zwar so!
Also er soll den ersten Satz lesen dann den 2ten ist das Datum gleich dann soll er von beiden Datensätzen die stunden zusammenzählen.
Dann soll er den dritten holen ist der auch gleich dem 2ten dann wieder stunden zusammenzählen, ist er nicht gleich dann soll er den 2ten datensatz in eine Tabelle eintragen.
Ich hab alles schon so weit nur das vergleichen fehlt mir, wie könnte ich das machen?
Bitte Tipps oder Hinweise! Ich bin am verzweifeln mir spucken zwar einige Lösungen durch den Kopf aber ich weiß nicht wie ich sie umsetzen soll.
z.B.:
Ich lese den ersten Datensatz vom Array dann gleich den 2ten Datensatz nun lasse ich die Daten (mehrzahl Datum) vergleichen, sind sie gleich soll er von beiden die Stunden zusammenzählen, sind sie nicht gleich soll er den ersten Datensatz in die Tabelle schreiben und dern dritten holen und mit den 2ten vergleichen.
Nur wie und mit welchen schleifen kann ich das umsetzen!
Danke für eure Hilfe
Hi,
Es wäre sehr nützlich wenn du uns sagen könntest wie dein Datum und die Stunden in deiner Datenbank aussehen.
mfg
PHP_Dude
Das Datum wird so gespeichert "2000-07-01 00:00:00"
Meine Stunden sind einfach als Zahl gespeichert "3"
Das Datum schreibe ich vor dem Eintragen in die DB noch mal um in ein normales Format "20.12.2003"
Willst du nun generell alle Stunden zusammenzählen die mit dem selben Datum in der DB stehen oder willst du immer nur 2 Datensätze vergleichen und wenn das Datum nicht stimmt den nächsten nehmen?
Generell alle Stunden mit dem gleichen Datum will ich zusammenzählen!
Dies ist eine Datenbank wo Mitarbeiter Stunden Stunden drin stehen!
Und in einer Tabelle soll angezeigt werden wieviele Stunden der Mitarbeiter an welchen Tag gearbeitet hat. Nur wenn er an einen Tag mehrere Tätigkeiten gemacht hat habe ich halt mehrere Datensätze für einen Tag über ihn und die würden halt in der Tabelle so auch auftauchen also muß ich davor filtern das 1 Tag auch nur eine Zeile bringt!
Also angenommen die Daten kommen so rein:
$row[0]=array('2000-07-01','3');
$row[1]=array('2000-07-01','5');
$row[2]=array('2000-07-01','2');
$row[3]=array('2000-08-01','1');
$row[4]=array('2000-08-01','8');
würde das so machen:
$datum=array();
$aktdatum='';
while($row=DBABFRAGE) {
$aktdatum=implode('',explode('-',$row[0]));
$datum[$aktdatum]+=$row[1];
}
Als Ergebnis dieser Schleife kommt raus:
$datum[20000701]=10;
$datum[20000801]=9;
Vielleicht gibt es eine bessere Lösung wenn man das gleich von der DB zusammenzählen lässt aber damit kenne ich mich nicht so gut aus.
Hab das mal bei mir eingebaut,
Ich weiß eben nicht wie das von der SQL aus aussieht.
Jedenfalls macht der Browser was aber er zeigt nichts an!
Naja muß ich mal weitersuchen, aber danke für den Versuch.