PHP: Verschachelte Tabelle

anonym

Mitglied
DRINGEND!

Hallo Zusammen

Ich habe ein Problem. Ich möchte eine solche Ansicht generieren, die Ihr im File "ansicht" sieht. Im Anhang habe ich die dazu gehörigen Tabellen.


Gruss
 
Zuletzt bearbeitet:
Falls ich demnächst per Zufall einige Stunden grad nix zu tun hab, schau ich mal rein.
Ich analysiere dann dein Code, versuche die DB-Struktur zu verstehen, versuche anhand deiner 2 Sätze die Anforderungen herauszufinden.
Wenn ich das alles gemacht habe, sehe ich ev. wo die Lösung ist.

Aber wie gesagt, wenn ich dann mal grad mal viel Zeit habe.

Du kannst natürlich ein wenig helfen. Reduziere den Code unsw. auf das Problem und erstelle genaue Anforderungen, was der extrahierte Code machen soll und was genau falsch läuft.
Auf den ersten Blick habe ich nämlich nur gesehen, dass deine Daten in der Tabelle irgendwie nix mit der Grafik zu tun haben.
 
Das ist die Ausgabe der Tabelle....
Mein Problem ist, 1. dass ich nur einen Datensatz herausgeben kann.
Mit $z möchte ich eigentlich dass alle Daten ausgegeben werden.
2.Problem ist, wenn ich die Anfangszeit 00:00 habe und die EndeZeit ist 00:20, dass alle Felder bis 00:20 mit der jenigen Farbe des Servers ausgemalt ist.

Wäre sehr nett von dir :)

Gruss
 
Zuletzt bearbeitet:
Kannst du dies bitte dieses Wochenende machen?

Ah ja.

Du hast doch das auch schon in der Jobbörse stehen: 5 Minuten Plan in PHP erstellen.

Wenn sich schon jemad die Mühe machen soll unformatieren Code zu lesen und sich dann auch noch einen Termin für die Fertigstellung vorschreiben lässt. Dann solltest du diese Anforderung am besten gegen Bezahlung in die Jobbörse verschieben lassen.

Aber falls du doch selber noch etwas machen willst. Ich denke es wäre wesentlich einfacher wenn du Tage und Uhrzeit vertauschen würdest.

Code:
          00.00 | 00.05 | 00.10 | 00.15 | ...
Montag
Dienstag
Mittwoch
...
 
Bitte den Code formatiert in [PHP]mein Code[/PHP] setzen.
So wie er jetzt da steht kann man das Ding nicht lesen.

Ichh ba dir das mal abgenonnem
PHP:
for($i = 0; $i < 289; $i++){
	$minuten = $i*5;
	$stunden = $minuten/60;
	$zahl = explode(".",$stunden);
	$stunden1 = $zahl[0];
	$stunden2 = str_pad($stunden1, 2, "0", STR_PAD_LEFT);
	$zahl1 = "0.".$zahl[1];
	$minuten1 = $zahl1*60;
	$zahl2 = explode(".",$minuten1);
	$minuten2 = $zahl2[0];
	$minuten3 = runden(str_pad($minuten2, 2, "0", STR_PAD_LEFT));
	echo "\n<tr>";
	if($stunden2 == 24)	{
		$stunden2 = str_pad(0, 2, "0", STR_PAD_LEFT);
	}
	echo"\n<td>{$stunden2}:{$minuten3}</td>";
	$y = 0;
	for($j = 0; $j < 7; $j++){
		for($z = $y; $z < $anzahl; $z++){
			if($sicherungsjobs[$z][$j] == 1 AND $sicherungsjobs[$z][8] == $stunden2.":".$minuten3){
				echo "<td style='background-color:{$sicherungsjobs[$z][10]};'></td>";
			} else {
				echo "<td></td>";
			}
			break;
		}
		$y++;
	}
	echo "</tr>";
Aber erkläre doch mal was da eigentlcih gemacht wird? Deine Variablen haben absolut nichtssagende Namen. $zahl1, $zahl2, $stunden1-$stundenX etc.
Und warum zählt $i bis 288? Was ist diese 288?

Lösung habe ich keine, da ich immer noch nicht versteh was da abgehen soll. Aber einige Tipps
item: Aussagekräftige Variablennamen verwenden
item: Warum setzt du bei $zahl1 eine 0 voran? Du brauchst diese variable nachher zum rechnen. Die ganze zeitrechnungen scheinen mir eh ziemlich wacklig zu sein. Schreib doch mal was dir die DB ausgibt und was du nachher haben solltest (also was $minuten3 eigentlich sein soll). Dann finden wir da stabiliere und elegantere Lösungen.
item: Arbeite bei dem Array das die Daten der DB ebnthält mit einem Assoziativen Array, nicht mit einem numerischen. Man sieht beim numerischen Zugriff nicht was ausgelesen wird. Vergleiche mal die zwei folgenden Zeilen und du wirst es sehen.
PHP:
echo $sicherungsjobs[$z][10];
echo $sicherungsjobs[$rowNum]['telefonnr'];

Kannst du dies bitte dieses Wochenende machen? Ich brauche diesen Code dringend.
Sorry, bin dieses WE zum Glück merheitlich ohne Computer :D

Aber, wenn du das ganze SQL-Seitig lösen willst, hier eine Möglichkeit: MySQL Belegungsplan

Nachtrag:
Danke tombe. Also ist Montag der Abgabeterin der Aufgabe....
 
also $zahl1 ist die Stunden Zahl die bei der Tabelle ausgegeben wird. $zahl2 ist die Minuten Zahl...
alle diese variablen sind nur für die Ausgabe der Zeiten....
$i zählt bis 288 weil, es so viele zeilen sind. die Zeit geht von 00:00 bis 24:00

ich habe das mit der mysql lösung nachgeschaut, aber meine tabellen sehen ganz anders aus...

Die Applikation sollte so aussehen wie ich sie im Anhang habe....

Bis Mittwoch brauche ich dies....

Wenn du nur diese Datenbank-Tabellen hast, wie würdest du vorgehen****
 
Zuerst würde ich wissen was wirklich gebraucht wird. Aber diese Frage hast du mir noch immer nicht beantwortet. ich sehe inner noch keinen Zusammenhang zwieschen den Daten in den Tabellen und deiner Grafik.
Dann würd ich das Zeugs richtig benamsen, damit man auch draus kommt was man hat.
 
also ich habe die Grafik. In dieser Grafik sind die Zeiten, welche im 5 Minuten Takt gehen.
In der Tabelle Sicherungsjobs habe die Anfangszeit und die Endzeit, in dieser Zeit sollen die Felder mit der Serverfarbe ausgefüllt werden. MO, etc. ist dann die Information, bei welcher Spalte die Farbe ausgefüllt werden muss. Ist doch verständlich?

ich habe nun die Anzeige die so ausehen soll, in den Anhang getan.
 
Zuletzt bearbeitet:
Also, die Server sind die Farben. Und wozu sind bei Montag 9 Spalten vorhanden? Für die Jobs kann es ja nicht sein, denn du hast ja 10 Jobs in deiner Job-Tabelle
 
Zurück