Fehler im Array nur wo?

strubel

strubel

Aktives Mitglied
Thread Starter
Dabei seit
07.07.2006
Beiträge
101
Reaktionspunkte
0
Servus,

ich bin es mal wieder. Igendwo in meiner Abfrage steckt ein Teufelchen und zwar soll der wert «tag» über der zeile mit den anderen weten stehen also so:

Montag
Klasse1 Frau Tonne ...
Klasse2 Frau Holle ...

Dienstag
Klasse1 Herr Wasweissichdenn
Klasse2 Frau Knolle...

Monetan schaut es aber so aus:

Montag
Dienstag
Klasse1 Frau Tonne ...
Klasse2 Herr Wasweissichdenn
Klasse2 Frau Knolle...

Hoffe Ihr könnt mir mal wieder weiterhelfen:

PHP:
<? 
  /*Ausgabe der Daten in einer Zeile der Tabelle*/
  while($row=mysql_fetch_array($abfrage))
  {
    echo "<tr colspan=\"7\">";
	echo "  <tr align=\"left\" colspan=\"7\" class=\"fliesstext_tabelle\"><h4>".$row['tag']."</h4></tr>";
	echo "  <td align=\"left\" width=\"40\"class=\"fliesstext_tabelle\"><div align=\"left\"><a href=\"kursprogramm_detail.php?AktuellID=".$row['AktuellID']."\"><h3>".$row['klasse']."</a></h3></div></td>";
	echo "  <td align=\"left\" width=\"68\" class=\"fliesstext_tabelle\"><a href=\"kursprogramm_detail.php?AktuellID=".$row['AktuellID']."\"><h3>".$row['datum']."	&ndash; </h3></td>";
	echo "  <td align=\"left\" width=\"80\" class=\"fliesstext_tabelle\"><a href=\"kursprogramm_detail.php?AktuellID=".$row['AktuellID']."\"><h3>".$row['datumende']."</a></h3></td>";
	echo "  <td align=\"left\" width=\"42\" class=\"fliesstext_tabelle\"><a href=\"kursprogramm_detail.php?AktuellID=".$row['AktuellID']."\">".$row['zeitstart'].  " &ndash; </a></td>";
	echo "  <td align=\"left\" width=\"60\" class=\"fliesstext_tabelle\"><a href=\"kursprogramm_detail.php?AktuellID=".$row['AktuellID']."\">".$row['zeitende']."</a></td>";
	echo "  <td align=\"left\" width=\"80\" class=\"fliesstext_tabelle\"><a href=\"kursprogramm_detail.php?AktuellID=".$row['AktuellID']."\">".$row['kategorie']."</a></td>";
	echo "  <td align=\"right\" width=\"100\" class=\"fliesstext_tabelle\"><a href=\"kursprogramm_detail.php?AktuellID=".$row['AktuellID']."\">".$row['alterchen']."</a></td>";
    echo "</tr>";
  }
?>

Gruss und Danke.
Strubel
 
Verrätst Du uns auch noch die SQL-Abfrage?
 
Verrätst Du uns auch noch die SQL-Abfrage?

na aber klar:

PHP:
<?php $sqlbase="SELECT * FROM tAktuelles ORDER BY klasse";			
$sql=$sqlbase;
$abfrage = mysql_db_query($dbName,$sql);
mysql_close($db);
?>
 
Dein HTML-Code ist ja auch vollkommen falsch: Du machst ein <tr> auf und schiebst gleich danach noch ein <tr> ein!
 
Dein HTML-Code ist ja auch vollkommen falsch: Du machst ein <tr> auf und schiebst gleich danach noch ein <tr> ein!

Haste recht gehabt, habe es nun umgeschrieben. Nun schaut es besser aus. Das Problem ist aber nun das ich ja mehrere kurse für einen tag habe. Leider gibt er nun die daten so aus:

Dienstag
K1 17.7.2008 – 17.7.2008 12:00 – 24:00 Kleinkinder 18 – 24 Monate

Montag
K1 17.7.2008 – 31.7.2008 08:30 – 12:00 Kleinkinder 18 – 24 Monate

Montag
K2 22.7.2008 – 22.8.2008 12:00 – 24:00 Säuglinge 8 – 12 Monate

soll aber so aussehen:

Montag
K1 17.7.2008 – 31.7.2008 08:30 – 12:00 Kleinkinder 18 – 24 Monate

Montag
K1 17.7.2008 – 17.7.2008 12:00 – 24:00 Kleinkinder 18 – 24 Monate
K2 22.7.2008 – 22.8.2008 12:00 – 24:00 Säuglinge 8 – 12 Monate

LG Strubel
Eine unschöne Lösung gäbe es schon über nen WHERE Bedingung, gibt aber bestimmt was hübscheres. ;-(
 
select ...order by tag?
 
Du gibst natürlich in jeder Zeile immer wieder den Tag aus. So hast Du's zumindest programmiert. Du musst verhindern, dass er ein weiteres mal den Tag mit ausgibt. Das kann man z.B. so machen.

PHP:
$myDay = '';
foreach ($events as $event) {
 if ($myDay != $event->getDay()) {
  echo '<tr>'.$event->getDay().'</tr>';
  $myDay = $event->getDay();
 }
 blablabla
}
 
Zurück
Oben Unten