php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.04.2006, 14:30  
Neuer Benutzer
 
Registriert seit: 25.03.2006
Beiträge: 22
esra
Standard ordnen nach datum

hallo!

ich habe wieder mal eine frage.


momentan steht im quelltext:

PHP-Code:
$query3="SELECT * FROM $sqltable_msg_aus WHERE rraass='$id_id' ORDER BY datum DESC"
also ORDER BY datum DESC - leider wird nur nach dem tag geordnet, monat und jahr wird nicht geordnet. was kann ich tun damit auch monat und jahr berücksichtigt wird?

wie muss die zeile dann lauten

vielen dank
esra
esra ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.04.2006, 14:31  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Dein Datum sollte vom Typ DATE sein, also das Format YYYY-MM-DD haben. Sonst haut die Sortierung nicht hin.
Zergling-new ist offline   Mit Zitat antworten
Alt 14.04.2006, 14:36  
Neuer Benutzer
 
Registriert seit: 25.03.2006
Beiträge: 22
esra
Standard ordnen nach datum

Zitat:
Zitat von Zergling
Dein Datum sollte vom Typ DATE sein, also das Format YYYY-MM-DD haben. Sonst haut die Sortierung nicht hin.

danke.

nun habe ich ein problem, denn bei mir wird tag / monat / jahr angezeigt.

gibt es eine möglichkeit, es trozdem richtig zu ordnen?
esra ist offline   Mit Zitat antworten
Alt 14.04.2006, 14:42  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ich rate dir trotzdem DATE zu benutzen, sonst verlierst du bei jedem Sortiervorgang, den du dir jetzt mit SUBSTRING() basteln musst Performance.
Wenn du hingegen jetzt einmalig ein richtiges Format wählst, stehen dir die all die mächtigen MySQL und PHP-Datumsfunktionen zur Verfügung.

http://dev.mysql.com/doc/refman/5.0/...functions.html
Zergling-new ist offline   Mit Zitat antworten
Alt 14.04.2006, 14:53  
Neuer Benutzer
 
Registriert seit: 25.03.2006
Beiträge: 22
esra
Standard ordnen nach datum

danke.

leider ist es so, das ich nicht so viel ahnung habe und zweitens laufen die seiten schon und alles ist im format tag.monat.jahr angeordnet.

mir würde es also helfen, wenn das format bestehen bleibt und es trotzdem richtig geordnet wird.

code der datei:
PHP-Code:
<?
$area 
"Nachrichten Postausgang";

$tpl->assign("titel","$sektionsname - $area");
$tpl->assign("area","$area");

if(
$id_name=="")
{
include 
"fehler.php";
exit;
}
$codessernder=0;
$query2="SELECT * FROM $usertable WHERE mail='$id_mail' and passwort='$id_passwort' and code='1'";
$result2=mysql_query($query2) or die(mysql_error());
while(
$date=mysql_fetch_row($result2))
{
$codessernder=1;
}
if(
$codessernder=="0")
{
include 
"fehler3.php";
exit;
}

$tpl->assign("content","<table cellspacing=0 cellpadding=1 width=100%  border=0>");
$tpl->assign("content","<tbody><tr><td>");
$tpl->assign("content","<table width=\"100%\" border=0 cellpadding=2>");
$tpl->assign("content","<tbody><tr><td>");
$tpl->assign("content","<table cellpadding=\"0\" width=\"100%\">");
$tpl->assign("content","<tr><td width=10 valign=top></td><td width=1></td>");
$tpl->assign("content","<td width=\"99%\" valign=top><div align=right>");
$tpl->assign("content","<table cellpadding=0 width=\"100%\"><tr height=22>");
$tpl->assign("content","<td height=22 valign=top>[b]Nachrichten: Ausgang[/b]</td></tr></table>");
$tpl->assign("content","<table cellpadding=0 width=\"100%\"><tr height=22><td height=22 valign=top>");

$query3="SELECT * FROM $sqltable_msg_aus WHERE rraass='$id_id' ORDER BY datum DESC";
$result3=mysql_query($query3) or die(mysql_error());
$number3 mysql_numrows($result3);

$tpl->assign("content","Gesendete Nachrichten: [b]($number3)[/b]");

$tpl->assign("content","</td></tr>");
$tpl->assign("content","</table><table cellpadding=0 width=\"98%\">");
$tpl->assign("content","<tr height=25>");
$tpl->assign("content","<td width=\"30%\" height=25>[b][/b]</td>");
$tpl->assign("content","<td width=\"15%\" height=25>[b]an[/b]</td>");$tpl->assign("content","<td width=\"15%\" height=25>[b]Datum[/b]</td>");
$tpl->assign("content","<td width=\"10%\" height=25></td>");
$tpl->assign("content","<td width=\"30%\" height=25></td>");
$tpl->assign("content","</tr></table>");

$query2="SELECT * FROM $sqltable_msg_aus WHERE rraass='$id_id' ORDER BY datum DESC";
$result2=mysql_query($query2) or die(mysql_error());
$number2 mysql_numrows($result2);
while(
$daten=mysql_fetch_row($result2))
{
$vonuser$daten[8];
$trefferid$daten[4];
$datum$daten[5];
$id$daten[0];
$titel$daten[1];
$text$daten[2];
$gelesen$daten[6];

$query="SELECT * FROM $usertable WHERE id='$trefferid'";
$result=mysql_query($query) or die(mysql_error());
while(
$daten=mysql_fetch_array($result))
{
if(
$daten[online]=="online")
{
$codeonline2="<a href=\"index.php?open=start&trefferid=$daten[id]&$sidname=$sidsid\"><img src=\"images/online.gif\" border=\"0\"></a>";
}
else
{
$codeonline2="<img border=\"0\" src=\"images/offline.gif\">";
}
}
if(
$gelesen=="0")
{
$gelesenbild="<a href=\"index.php?open=ans2&$sidname=$sidsid&id=$id\" class=\"a\"><img src=\"images/000964.gif\" align=\"BOTTOM\" border=\"0\"  alt=\"Neue Nachricht\"></a>";
}
else
{
$gelesenbild="";
}
$tpl->assign("content","<table cellpadding=\"0\" width=\"98%\" height=\"25\"><tr><td width=\"30%\" valign=\"top\">");
$tpl->assign("content","<a href=\"index.php?open=ans2&$sidname=$sidsid&id=$id\" class=\"a\">[b]");
$tpl->assign("content",snipstr($text,10));
$tpl->assign("content","$text1");
$tpl->assign("content","[/b]</a></td><td width=\"15%\" valign=\"top\"><a href=\"index.php?open=start&trefferid=$trefferid&$sidname=$sidsid\">[b]$vonuser[/b]</a></td><td width=\"30%\" valign=\"top\">[b]$datum[/b]</td><td width=\"10%\" valign=\"top\"><a href=\"index.php?open=paloeschen&$sidname=$sidsid&id=$id\"><font color=\"#FF0000\">Löschen</font></a></td><td width=\"15%\" valign=\"top\">$codeonline2</td></tr></table>
"
);
}

$tpl->assign("content","</div></td></tr></table></center>");
$tpl->assign("content","[b]<a href=\"index.php?open=paloeschen&loeschen=alle&$sidname=$sidsid&id=$id\"><font color=\"#FF0000\">Alle Löschen</font></a>[/b]");
$tpl->assign("content","</td></tr></tbody></table></td></tr></tbody></table>");
?>
vielen dank
esra ist offline   Mit Zitat antworten
Alt 14.04.2006, 15:05  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Du musst damit eben deinen Datums-String DD.MM.YYYY zerlegen und ins Format YYYY-MM-DD bringen.

An was scheiterst du bei SUBSTRING()?
Zergling-new ist offline   Mit Zitat antworten
Alt 14.04.2006, 15:09  
Neuer Benutzer
 
Registriert seit: 25.03.2006
Beiträge: 22
esra
Standard

ja.

es ist so ich habe keine kenntnisse. ich kann nur fertige zeilen einfügen - leider.

momentan ist die anordnung im posteingang und postausgang total unordentlich. es wäre schön, wenn alles nach datum geordnet wäre.
esra ist offline   Mit Zitat antworten
Alt 14.04.2006, 15:15  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ohne Fleiß kein Preis
Verbessern: gern, neu für dich machen: nein.
Aber ich bin ja nicht der einzige hier im Forum..
Zergling-new ist offline   Mit Zitat antworten
Alt 14.04.2006, 15:18  
Neuer Benutzer
 
Registriert seit: 25.03.2006
Beiträge: 22
esra
Standard

nun ich dachte es ist mit einer kleinen änderung getan.

dann werd ich es wohl so lassen müssen.

vielen dank
esra ist offline   Mit Zitat antworten
Alt 14.04.2006, 15:39  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo esra,

ich unterstütze eigentlich auch keine Faulheit und kein "ich will fertige Lösungen und hab keine Lust mich einzulesen", aber ich habe so etwas ähnliches schon mal implementiert um eine Datenmigration zu machen. Für deinen Fall sollte folgende Abfrage die Lösung sein:

SELECT Name, CONCAT_WS('-',SUBSTRING(Datum,7,4),SUBSTRING(Datum,4,2), SUBSTRING(Datum,1,2)) AS Datum FROM test ORDER BY Datum DESC;

Diese selektiert aus einer Tabelle mit den Spalten

Name | Datum | TID
Meier | 31.12.2006 | 1
Müller | 28.02.2008 | 2

die beiden Datensätze und Ordnet diese nach dem angegebenen Datum.

Ich habe hier zwar eine fertige Lösung, aber ich empfehle dir gerade im Hinblick auf die Sicherheits-Thematik die Grundlagen zu lesen und zu verstehen. Diese Lösung, bin ich mir sicher, hättest auch du herausfinden können in dem du einfach mal das MySQL-Manual auf Seite http://dev.mysql.com/doc/refman/4.1/...functions.html aufgeschlagen hättest. Kretaivität sollte natürlich auch nicht fehlen


Grüße,
Dr.E.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Datum Ausgabe Mysql krackmoe PHP Tipps 2008 9 10.07.2008 20:33
[Erledigt] Datums Foumulareingabe mit Datebankeintrag Datum vergleichen freakymiky PHP Tipps 2008 1 21.06.2008 15:49
Kalender nach Datum ordnen und alte Termine nicht anzeigen. Wie? Ricardando PHP Tipps 2008 9 05.01.2008 19:35
Jahrestag ermitteln cyberholic PHP Tipps 2006 4 17.12.2006 12:50
näherstes datum zum aktuellen datum herausfinden flflfl Datenbanken 7 01.05.2006 16:57
wie sortiert man Datum bei SQL Abfrage? rockinchina PHP Tipps 2005-2 8 27.09.2005 12:57
Daten aus MYSQL nach Datum filtern Datenbanken 3 19.09.2005 16:09
" Tabellen nach Datum ordnen Datenbanken 3 16.08.2005 10:59
[Erledigt] datum in mysql datenbank! Datenbanken 7 09.07.2005 14:43
datum nach tagen ordnen PHP Tipps 2005 3 06.05.2005 08:49
ordnen von uhrzeit und datum PHP Tipps 2005 19 25.04.2005 20:02
datum auslesen eintragen PHP Tipps 2005 23 13.04.2005 20:39
Ordnen vom datum und zeit PHP Tipps 2005 3 08.03.2005 20:09
Datum und Zeit PHP Tipps 2004-2 5 11.12.2004 23:53
Problem mit Datum ?! Datenbanken 21 04.08.2004 16:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php ordnen, thumb erstellen, php nach jahr sortieren, ordnen nach, php nach datum sortieren, nach datum sortieren php-code, php dateien ordner nach datum ausgeben, php, mysql, datum im deutschen format richtig sortieren, dten nach datum sortieren, dateien nach datum ordnen, order by datum desc, order by datum nach jahr, mysql monatsweise nach tagen sortieren, datum order by php, sortieren von datums oder zeitangaben php, wie ordne ich etwas nach datum?, wie ordnet sich das datum, php where und ordnen, postausgang tpl, ordnen in php

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:18 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.