Daten gruppieren

Alain

Grünschnabel
Hi ihr

habe vor einiger Zeit mal was gepostet bekam aber kaum Antowort. Vielleicht war mein Prob nicht genau beschrieben.

Habe ich euch das Script angehängt und möchte folgendes:

wie ihr sehen werdet werden Spiele von einer DB abgerufen. BIsher war es so, dass jedes Spiel, bzw. jede Zeile Tag Datum Zeit Heimmanschaft etc.. aufwies. Nun möchte ich aber, dass Spiele die an gleichen Tagen stattfinden gruppiert werden, d.h. wenn zwei Spiele am 22.9.2004 sind soll beim ersten Tag und Datum stehen aber beim zweiten Datensatz steht nur noch Anspielzeit, Heim, Gast etc..

Hoffe ihr versteht was ich meine..

Gruss Alain
 

Anhänge

Ich gehe mal bequemerweise davon aus, dass Du die Spiele in einer MySQL-Tabelle mit den Spalten Spieler Zeitraum oder Tag usw angelegt hast. ;)

Da liest du dann alle Spiele folgendermaßen aus:
PHP:
$result = mysql_query("SELECT * FROM SPIELETABELLE ORDER by TAGDESSPIELS");
 while ($spiel= mysql_fetch_array($result)) 
		{
                           echo $spiel;
                };

So nun müsste er Dir eigentlich alle Spiele des Tages TAGDESSPIELS ausgeben.
 
Hi Claas

die Idee ist ncht schlecht, entspricht aber jedoch nicht dem, was ich mir vorstelle. So gibt er mir einfach nach Tag sortiert Spiele aus. Was ICH jedoch möchte ist das:

Mi 22.9.04 18:00 Uhr FC St. Gallen - FC Wil
18:30 Uhr FC Zürich - FC Basel
19:00 Uhr GC Zürich - FC Thun

Sa 25.9.04 10:00 Uhr FC St. Gallen - FC Wil
11:00 Uhr FC Zürich - FC Basel
11:00 Uhr GC Zürich - FC Thun

Alle Spiele sind am gleichen Tag aber nur vor dem ersten steht das Datum. Die Abfrage muss also erkenne, dass es bereits einmal das Datum ausgegeben hat.
 
Versuch mal folgendes:
PHP:
<?php
	require_once("config2.php");

	var $temp;

	$query = "
		SELECT
		        *
		  FROM
		        `spieldb`
		  WHERE
		        `DATE` BETWEEN CURRENT_DATE + INTERVAL -10 DAY AND CURRENT_DATE
		  ORDER BY
		        `DATE` DESC
		";
	if( !$result = mysql_query($query) ) {
		echo '<p><strong>MySQL Error <tt>'.mysql_errno().'</tt>:</strong> '.htmlspecialchars(mysql_error()).'<pre>'.$query.'</pre></p>';
		exit;
	}


	// Ausgabe
	if( mysql_num_rows() > 0 ) {

		echo '<table width="750" border="0" cellpadding="2" cellspacing="0" class="spieldb" valign="middle">';
		echo '	<caption class="altespielegross">KiFu-Heimspiele der letzten 10 Tage</caption>';
		echo '	<thead>';
		echo '		<tr><th>Uhrzeit</th><th colspan="2">Heimmannschaft</th><th colspan="2">Gastmannschaft</th><th>Tore Gast:Tore Heim</th><th>Schiedsrichter</th><th>Bemerkung</th></tr>';
		echo '		<tr><td colspan="8"></td></tr>';
		echo '	</thead><tbody>';

		while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) {

			$datum = DatumsWandler($row['DATE']);
			if( $temp != $datum ) {
				$temp = $datum;
				echo '<tr><th colspan="8">'.$row['spieltag'].', '.$datum.'</th></tr>';
			}
			echo '<tr>';
			echo '<td>'.$row['uhrzeit'].' Uhr</td>';
			echo '<td><img src="vereinslogos/fc_schwamendingen_klein.gif" width="20" height="20" alt="" /></td>';
			echo '<td><a href="teams.php?heim='.$row['heim'].'">'.$row['heim'].'</a></td>';
			echo '<td><img src="vereinslogos/'.$row['gast'].'.gif" alt="" /></td>';
			echo '<td>'.$row['gast'].'</td>';
			echo '<td>'.$row['tore_heim'].':'.$row['tore_gast'].'</td>';
			echo '<td>'.$row['srvorname'].' '.$row['srnachname'].'</td>';
			echo '<td>'.$row['bemerkung'].'</td>';
			echo '</tr>';

		}
		echo '</tbody></table>';

	} else {

		echo '<h4 style="color:red">KiFu-Heimspiele der letzten 10 Tage</h4>';
		echo '<p class="altespiele">In den letzten 10 Tagen fanden keine Spiele statt.</p>';

	}
?>
Sollte funktionieren.
 
Hi Gumbo

dein Script führt zu folgendem Fehler:

Parse error: parse error in /home/www/web585/html/kifu_spiele.php on line 90


Aber schon mal besten Dank :)
 
hmm... jetzt kommt dieser fehler

Warning: Wrong parameter count for mysql_num_rows() in /home/www/web585/html/spiele_test.php on line 17


das ist dieser teil

if( mysql_num_rows() > 0 ) {
 
Zurück