fastix®: Gruppenwechsel

Beitrag lesen

Moin!

<td><?php echo $row['id_termin'].":".$row['art_nr']."".$row['hgr_kurz'].".".$row['zielgr_kurz']." ".$row['sem_nr'];  ?></td>
  <td><?php echo " von: ".$von." bis ".$bis; ?></td>
  <td><?php echo $frist; ?></td>
  <td><?php echo $row['zielgruppe']." ".$row['zusatz']; ?></td>
  <td><?php echo $row['haus'].", ".$row['raum']; ?></td>
  </tr>
<?php }

Das wieder 'nur' ein logisches Problem. Überleg mal: $row ist 'erledigt', diesen Array könntest Du nach dem

while ($row = mysql_fetch_array ($result_vorschau)) {

}

mit  unset ($row) löschen.

Alles, was Du jetzt noch brauchst sollte in $termin[] stehen. Wenn nicht schreib es rein.

foreach ($arJahreMonate AS $strJahrMonat) {

$arAuswahlTermin=explode('-',$strJahrMonat);
 # Jetzt hast Du in $arAuswahlTermin[0] das Jahr und in $arAuswahlTermin[1] den Monat

echo "<tr style='border-top:1px solid gray;'><td colspan='5'><strong>" . $row['monat'] ."</strong></td></tr>\n";

foreach ($arTermine as $arTermin) {
   # Bitte Plural/Einzahl beachten!

if  (
      ($arTermin['jahr']==$arAuswahlTermin[0])
      &&
      ($arTermin['monat']==$arAuswahlTermin[1])
     {

echo '<td>'.$arTermin['id_termin'].':'.$arTermin['art_nr'].':'.$arTermin['hgr_kurz'].'.'.$arTermin['zielgr_kurz']." ".$arTermin['sem_nr'].'</td>';

} # end if

} # next $arTermine

}  # next $arJahreMonate

Was passiert da?

In der While-Schleife bildest also bei der Auswertung des results zwei Arrays. Einer enthält:

$arJahreMonate= array('2004-01','2004-02','2004-03',...'2005-01','2004-01'...)

Der andere enthält:

$arTermine=array(0....n)
$arTermine[$x]['jahr']= wert aus $row
$arTermine[$x]['monat']=wert aus $row
...
$arTermine[$x]['zielgruppe']=wert aus $row['zielgruppe']

Nach Abarbeitung der Whileschleife ist (der Array) $row nutzlos

Jetzt nimmst Du in der ersten foreach-Schleife jedes einzelne Element von $arJahreMonate und splittest das in Monat und Jahr.

In der zweiten (eingeschlossenen ) foreach-Schleife nimmst Du jeden Termin und testest, ob dieser im Jahr und Monat liegt. (if-Bedingung)

Wenn ja: Ausgabe.
Sonst: nichts.

endif
next Termin
next MonatJahr

Damit solltest Du hübsch sortiert in der Reihenfolge die Termine nach Monat und Tag sortiert bekommen. Wenn nicht, dann sortiere den Array $arJahreMonate zusätzlich.

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix®

--
Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development