MySQL-Ausgabe-Problem

Heinz Schrot

Mitglied
Hi,

ich habe folgendes Problem/Anliegen.

ich habe eine mysql Tabelle mit verschiedenen Werten. Unter anderem auch ein Datumsfeld (yyyy-mm-dd). es existieren mehrere Eintraege mit dem gleichen Datum. So moechte ich dass alle Eintraege eines Datums in php in einer Tabelle ausgeben wird. Z.B. also ich habe 5 eintraege zum 2006-04-20 und 9 zum 2006-04-21. Nun sollen 2 tabellen ausgegeben werden mit diesen werten. Ich habe es im db query auch schon hinbekommen (WHERE `date` = "2006-04-20" ...) alles fuer ein Datum auszugeben. Allerdings ist da ja recht statisch :) . wie kann ich das Datum immer eines hochzaehlen lassen (mit der for-schleife, wie?) ? Oder gibt es eine bessere loesung, die das Problem erfolgreich bewaeltigt :)

danke schon mal :)
 
hrmm geht nich, irgendwie bricht meine Schleife in der php datei immer sofort ab :(

PHP:
<?php
 if(mysql_num_rows($result)) { // look whats in the db
        while($row = mysql_fetch_assoc($result)) {
            echo "<div id='date'>Times checked at &nbsp;".$row['date']."</div>".
			"<div id='box1'><div id='machine'>Machine # </div>".
			"<div id='cavities'>Cavities running </div>".
			"<div id='cycletime'>Cycletime</div>".
			"<div id='quoted'>Quoted Cycletime</div>".
			"<div id='quotedpartsperhour'>Quoted parts / hour</div>".
			"<div id='partno'>partno</div>".
			"<div id='plusseconds'>+ / - seconds</div>".
			"<div id='plusparts'>+ / - parts / hour</div>".
			"<div id='plusmoney'>+ / - money / hour</div> </div>"
			 ;
				while($row = mysql_fetch_assoc($result)) {
					echo "<div id='machine1'>".$row['machine']."</div>".
					 "<div id='cavities1'>".$row['cavities']." cav. </div>".
					 "<div id='cycletime1'>".$row['cycle']." s</div>".
					"<div id='quoted1'>".$row['quoted']." s</div>".
					 "<div id='quotedpartsperhour1'>".$row['quotedpartsperhour']." </div>".
					 "<div id='partno1'>".$row['partno']."</div>".
					"<div id='plusseconds1'>".$ps = ($row['quoted']-$row['cycle'])." s</div>".
					"<div id='plusparts1'>".
					$pp = (((60/$row['cycle'])*60*$row['cavities'])-$row['quotedpartsperhour']).
					"</div>".
					"<div id='plusmoney1'>".$row['date']."</div> </div>"
			 ;
			}
        }
		echo "<br /><br /><br />";
    } else {
        echo "no db data<br />\n";
    }
?>

die config
PHP:
	$sql = '
    SELECT
            id, machine, date, cavities, cycle, quoted, quotedpartsperhour, partno, comments
      FROM
            `cycletime`
      GROUP BY
            `date` 
     
    ';  
	
     $result = mysql_query($sql) OR die(mysql_error());
     $row = mysql_fetch_array($result);
 
Probiers mal so:

PHP:
$sql = "
SELECT
*
FROM
test
ORDER BY
date";

und überprüfe einfach wann das Datum nicht mehr geleich ist und leg ne neue Tabelle an

PHP:
$date2 = "erstereintrag";
echo("<table>");
if(mysql_num_rows['$result'])
{
while($row = mysql_fetch_assoc['$result'])
{
$date1 = $row['date'];

if($date1 != $date2)
{
//Sollte sich das Datum geänder haben wird eine neue Tabelle angelegt
echo("</table><table>");
echo("<tr><td>bla</td><td>bla2 usw---</tr>");
}
else
{
echo("<tr><td>bla</td><td>bla2 usw---</tr>");
}
$date2 = $row['date'];

}

}
}
echo("</table>");

hoffe mal das stimmt so.
Bestimmt gibts ne elegantere Lösung aber das mal als Idee auf die schnelle.
 
so dankescheon :) funktionert alles 1a

nur eines noch alle while Schleifen die ich verwende lassen jeweils den letzten Datensatz der DB fallen.

Ich schreibe die while schleife genau wie du es geschrieben hast. Ist das ein Script Problem oder DB oder whatever?
Ich benutze das neueste Xampp auf win2000.
 
Zurück