Große html Tabelle - Ladezeit optimieren

Ja das würde nur funktionieren wenn die Id fortlaufend ist oder?

Die Abfrage $res liefert nur Daten die in diesem Monat eingeplant sind.
Wenn jetzt die Personal ID 2 keinen Eintrag hat wird sie auch nicht ausgegeben.

Gruss
djjlx

Dem Codeschnipsel ist es egal, ob die ID fortlaufend ist oder nicht, er vergleicht immer (bis auf das erste Mal natürlich) die vorherige ID mit der jetzigen ID. Kleines Beispiel:

Durchlauf|Jetzige ID|Vorherige ID
1.|1|-1
2.|3|1
3.|27|3
4.|27|27
5.|43|27
...|...|...
 
Was hast Du denn eigentlich genau vor? Wäre es nicht eventuell einfacher, den Schritt in zwei Einzelschritte zu zerlegen?

Im ersten Schritt bereitest Du die Daten auf und sammelst in einem Array alles, was zu einer bestimmten Id gehört:
PHP:
$data = array();
foreach ($db as $row)
{
  if (!isset($data[ $row['id'] ]))
    $data[ $row['id']*] = array();

  // Billigste Variante:
  $data[ $row['id'] ][] = $row;
}
Und im zweiten Schritt machst Du dann die Darstellung der Daten, indem Du über das erzeugte Array iterierst. Somit hast Du immer die passende Id und bist viel flexibler sowohl in der Logik als auch in der Darstellung, da beide voneinander entkoppelt sind...
 
Dem Codeschnipsel ist es egal, ob die ID fortlaufend ist oder nicht, er vergleicht immer (bis auf das erste Mal natürlich) die vorherige ID mit der jetzigen ID. Kleines Beispiel:

Durchlauf|Jetzige ID|Vorherige ID
1.|1|-1
2.|3|1
3.|27|3
4.|27|27
5.|43|27
...|...|...
Ah jetzt hab ichs geschnallt. Funktioniert auch :ugly:
Danke!

Was hast Du denn eigentlich genau vor? Wäre es nicht eventuell einfacher, den Schritt in zwei Einzelschritte zu zerlegen?

Im ersten Schritt bereitest Du die Daten auf und sammelst in einem Array alles, was zu einer bestimmten Id gehört:
PHP:
$data = array();
foreach ($db as $row)
{
  if (!isset($data[ $row['id'] ]))
    $data[ $row['id']*] = array();

  // Billigste Variante:
  $data[ $row['id'] ][] = $row;
}
Und im zweiten Schritt machst Du dann die Darstellung der Daten, indem Du über das erzeugte Array iterierst. Somit hast Du immer die passende Id und bist viel flexibler sowohl in der Logik als auch in der Darstellung, da beide voneinander entkoppelt sind...

Ja genau => Bahnhof:ugly:
Ich probier jetzt mal deine fachliche Aussage in eine mir verständliche zu übersetzen.

Also foreach ($db as $row)
Ich nehme an $db ist meine $res abfrage und jeder datensatz wird in $row abgelegt.

Mit $data[ $row['id'] ] spreche ich dann eigentlich die ganze zeile an bzw. wenn mehere Datensätze vorhanden sind alle die zu ID gehöhren.

// Billigste Variante:
$data[ $row['id'] ][] = $row;
Da steh ich jetzt an.


Ich wollte einfach über if/else steuern wann eine Cell gemacht werden muss und wann eine Zeile und wenns gar keinen eintrag gibt eine leere Cell.

Gruss
djjlx