PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verschatelte darstellung von mysql ergebniss


cooky79
26.09.2009, 18:13:21
Hallo zusammen,

ich möchte folgende Liste mit Daten erstellen,

Dez 08:
12.12.08 Termin 1
13.12.08 Termin 2

Jan 09
01.01.09 Termin 1
02.01.09 Termin 2

usw..

Die Termine erhalte ich aus einer Abfrage und die Monatsüberschriften, aus einer 2. Abfrage die Termine.

Beide Abfragen:
mysql_select_db($database_Terminedb, $Terminedb);
$query_qry_termine_all = "SELECT tbl_termine.t_kate, tbl_termine.t_ort, tbl_termine.t_besch, tbl_termine.t_uhr, tbl_termine.t_dat_bis, tbl_termine.t_dat_von,CONCAT( MONTHNAME( tbl_termine.t_dat_von ) , ' ', Year( tbl_termine.t_dat_von ) ) as datlang FROM tbl_termine ORDER BY tbl_termine.t_dat_von";
$qry_termine_all = mysql_query($query_qry_termine_all, $Terminedb) or die(mysql_error());
$row_qry_termine_all = mysql_fetch_assoc($qry_termine_all);
$totalRows_qry_termine_all = mysql_num_rows($qry_termine_all);



mysql_select_db($database_Terminedb, $Terminedb);
$query_qry_datumlang = "SELECT CONCAT( MONTHNAME( tbl_termine.t_dat_von ) , ' ', Year( tbl_termine.t_dat_von ) ) AS Datlang FROM tbl_termine GROUP BY CONCAT( MONTHNAME( tbl_termine.t_dat_von ) , ' ', Year( tbl_termine.t_dat_von ) ) ORDER BY tbl_termine.t_dat_von ";
$qry_datumlang = mysql_query($query_qry_datumlang, $Terminedb) or die(mysql_error());
$row_qry_datumlang = mysql_fetch_assoc($qry_datumlang);
$totalRows_qry_datumlang = mysql_num_rows($qry_datumlang);

Nun war mein Gedanke ich mache 2 verschachtelte Schleifen die erste gibt die Ergebnisse aus der Abfrage qry_datumlang wieder und die 2. die ergebnisse aus qry_termine_all. Vor in die 2. Schreife wollte ich dann eine Abfrage setzen die abfragt ob das Datlang =datlang ist. Wenn ja zeige an wenn nein mach nichts.

doch schon bei dem ersten test mußte ich feststellen, das die daten aus meiner Abfrage qry_termine_all nicht erneut angezeigt werden sondern mit null ausgegeben werden.

<?php do { ?>
<tr bordercolor="#999999">

<td valign="top" colspan="4" bgcolor="#FFFF99">

<?php echo $row_qry_datumlang['Datlang']; ?>


</tr>
<?php do { ?>
<tr bordercolor="#999999">
<td valign="top" width="75" bgcolor="#FFFF99">
<div> <?php echo current($row_qry_termine_all);?><br />
<?php echo date("d.m.y",strtotime($row_qry_termine_all['t_dat_von'])); ?><br />
<?php echo date("d.m.y",strtotime($row_qry_termine_all['t_dat_bis'])); ?></div>
</td>
<td valign="top" width="75" bgcolor="#FFFF99">
<div>
<?php echo substr($row_qry_termine_all['t_uhr'],0,5); ?> Uhr</div>
</td>
<td valign="top" width="400" bgcolor="#FFFF99"><?php echo $row_qry_termine_all['t_besch']; ?></td>
<td width="150" valign="top" bgcolor="#FFFF99"><?php echo $row_qry_termine_all['t_ort']; ?></td>
</tr>
<?php } while ($row_qry_termine_all = mysql_fetch_assoc($qry_termine_all)); ?>

<?php } while ($row_qry_datumlang = mysql_fetch_assoc($qry_datumlang)); ?></td>

Nun zu meiner Frage wie setze ich das Array $row_qry_termine_all wieder auf den anfangspunkt zurück.

Die abfrage habe ich noch nicht intigriert, da ich ja keine erneute Anzeige der Aatensätze erhalte.

Vielen Dank im voraus für Eure Bemühungen.

grus Cooky

Nev
30.09.2009, 09:53:09
Hi Cooky

Auf den ersten blick, hab i glaub i den fehler schon

in deiner 2 Schleife, setzt du das Sql, mit den neuen Datumsgrenzen nicht ab.

muss zwischen den 2 Do's hinein.

cooky79
30.09.2009, 10:35:43
vielen Dank hat geklappt.