Frage zur Datumssortierung

Hallo noch mal
Hi,

ich glaube, Du solltest Dich erstmal mit der Syntax von PHP befassen.

PHP:
else(<Bedingung>)

ist syntaktisch falsch. Lies hierzu die ersten 3 Abschnitte von "Control Structures".
Ansonsten kann ich Dir noch das Quakenet-Tutorial empfehlen.
Werde ich mir gleich mal durch lesen. Wie gesagt ich versuch mir das alles selber bei zu bringen.
Zur Sortierung: Nach was genau willst Du den sortieren?

LG
Ich bin dabei so eine art Terminplan für die Hp zu basteln. Jetzt sollen aber alle Eingetragen Termin des Jahres (01.01. bis 31.12) Eingetragen bleiben. Aber wenn möglich möchte ich die offenen Termin oben auf der Seite und die erledigten Termine darunter erscheinen lassen. Leider konnte ich dazu kein passenden Lösungsansatz finden, weder unter den Tutorials noch im Forum.
So werde mich mal über deine Links machen vielleicht finde ich da die Lösung.
Danke
Uwe
 
Hi,
Lies hierzu die ersten 3 Abschnitte von "Control Structures".
Ansonsten kann ich Dir noch das Quakenet-Tutorial empfehlen.

Zur Sortierung: Nach was genau willst Du den sortieren?

LG

Hallo,
Kann leider keine Unterschiede bei beiden Links erkennen. Beides geht zur selben Seite.

Habe dadurch gelernt das das Script richtig sein müsste.
Es klappt nur nicht mit der Sortierung datum< $now / datum>$now. Es wird weiter nur die kompletten Datensätze ausgege (alle unter offenen bzw erledigte).

Gruß
Uwe
 
Danke für den Tipp mit de Seite, habe sie zwar noch nicht durch aber ich weiß glaube ich wo der Fehler liegt.

Wenn ich das richtig verstanden habe liegt es daran das mein Wert ´datum´ (aus der Datenbank) und der Wert $now (heute) nicht den Gleichen "Variablentyp Zahlen" entsprechen.
Wie müsste ich denn die Spalte `datum` einstellen das es klappt, oder bin ich da wieder auf dem Holzweg?

Habe schon ein paar versuch gestartet, aber es werden die Datensätze nur zusammen hängend ausgegeben und nicht sortiert.

Gruß
Uwe
 
Hallo und Danke,

der Tipp war richtig. Jetzt bekomme ich die Sortierung hin.
Hier mal das Script wie ich es geschrieben habe, dank der guten Hilfe:

PHP:
$now = date("Y.m.d",mktime());
  
  $query = "SELECT 
                DATE_FORMAT(`datum`, '%Y.%m.%d') AS `datum`,
                `zeit`,
                `was`,
                `wo_wie`
                 
          FROM
                `spzg_kalender` ";
  
  $sql = mysql_query($query) or die($query.' Fehlermeldung der DB: '.mysql_error());
  
    $erledigte_termine = "";
    $offene_termine = "";
    
    while($conn_id = mysql_fetch_object($sql)){ 
    
        if ($conn_id->datum < $now) 
           $erledigte_termine .= "<b>".$conn_id->datum." &nbsp;-&nbsp; ".$conn_id->zeit."</b><br>
                                         ".$conn_id->was." &nbsp;&nbsp; ".$conn_id->wo_wie." <br>"; 
        else
           $offene_termine .= "<b>".$conn_id->datum." &nbsp;-&nbsp; ".$conn_id->zeit."</b><br>
                                         ".$conn_id->was." &nbsp;&nbsp; ".$conn_id->wo_wie." <br>"; 
    } 
    
    echo "<h3>Termine :</h3><br /> $offene_termine <br /> <br /><h4>Erledigte Termine: </h4><br /> $erledigte_termine";
Das Ergebnis sieht dann ungefähr so aus:

Termine :

2008.10.03 - 10:00
Jahreshauptversammlung ....
2008.10.17 -
125. Jubiläum ....
2008.10.18 -
125. Jubiläum .....
2008.12.31 - 14:00 Uhr
Sylvesterumzug ....


Erledigte Termine:

2008.09.06 - 14:00
Sommerfest .....

Wenn ich jetzt das Datum anders ausgeben möchte (06.09.2009) wird nur nach dem Tag sortiert. Aber vielleicht finde ich das noch raus wie ich das Datum in der Abschließenden Ausgabe in d.m.Y umwandeln kann, oder ich bekomme wieder einen Tipp :)

Gruß
Uwe
 
Hallo Noch einmal,

Habe in den letzten Tagen versucht mich in dieses Thema intensiv einzulesen und sehe es auch mittlerweile ein, dass eine Sortierung nur funktioniert wenn die Berechnung mit dem Format Y,m,d geschieht.

Aber eine Frage habe ich noch:
Kann ich das Datum nach der Berechnung (Sortierung offenen - Erledigte Termine) noch in d,m,Y umwandeln?

Das müsste doch eigentlich gehen.
Ich müsste dazu doch nur den Script sagen das nach der while-Schleife das Datum unter $erledigte_termine (bzw $offene-termine) so d.m.Y auszugeben ist.
Oder muss ich dazu das Script ganz anders aufbauen?

Gruß
Uwe
 
versuch mal das:

mysql_connect('localhost','root','')or die("<h1></h1>");
mysql_select_db('gbuch_sabine');
$SQL2 = "SELECT * FROM eintrag ORDER BY eintrag_ID DESC";
$ergtab = mysql_query($SQL2);

while ($data = mysql_fetch_array($ergtab)) {

echo'
<table id="gastform" width="43%">
<tr>
<td bgcolor="#3C3C3C" valign="top" width="70%"><i>Name:</i>&nbsp;
<font face="@Arial Unicode MS">'.$data[name].'</font>
</td>
<td width="50" align="right" bgcolor="#3C3C3C">'.substr($data['datum'],8,2).'.'.substr($data['datum'],5,2).'.'.substr($data['datum'],0,4).'
<br>'.$data[uhrzeit].'&nbsp;
</td>
</tr>
<tr>
<td colspan="2" valign="top"><br>'.$data[nachricht].

$data liefert ergebnisse bzw. daten aus der datenbank, aber für dich ist nur wichtig:

'.substr($data['datum'],8,2).'.'.substr($data['datum'],5,2).'.'.substr($data['datum'],0,4).'
 
Zuletzt bearbeitet:
versuch mal das:

mysql_connect('localhost','root','')or die("<h1></h1>");
mysql_select_db('gbuch_sabine');
$SQL2 = "SELECT * FROM eintrag ORDER BY eintrag_ID DESC";
$ergtab = mysql_query($SQL2);

while ($data = mysql_fetch_array($ergtab)) {

echo'
<table id="gastform" width="43%">
<tr>
<td bgcolor="#3C3C3C" valign="top" width="70%"><i>Name:</i>&nbsp;
<font face="@Arial Unicode MS">'.$data[name].'</font>
</td>
<td width="50" align="right" bgcolor="#3C3C3C">'.substr($data['datum'],8,2).'.'.substr($data['datum'],5,2).'.'.substr($data['datum'],0,4).'
<br>'.$data[uhrzeit].'&nbsp;
</td>
</tr>
<tr>
<td colspan="2" valign="top"><br>'.$data[nachricht].

$data liefert ergebnisse bzw. daten aus der datenbank, aber für dich ist nur wichtig:

'.substr($data['datum'],8,2).'.'.substr($data['datum'],5,2).'.'.substr($data['datum'],0,4).'

Hallo Und Danke für deine Schnelle Antwort.

Habe gerade mal versucht das einzubauen, aber es wird mir immer eine Fehlermeldung angezeigt.
Code:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\WEB_SPZ\verein\termine08.php on line 36
Ich vermute mal das ich das falsch eingebaut habe, hier mal meine Zeile 36:
PHP:
echo "<h3>Termine :</h3><br />'.substr($offene_termine['datum'],8,2).'.'.substr($offene_termine['datum'],5,2).'.'.substr($offene_termine['datum'],0,4).'<br /> <br /><h4>Erledigte Termine: </h4><br /> $erledigte_termine";
 
Zurück