php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.09.2005, 21:19  
Gast
 
Beiträge: n/a
Standard [Erledigt] Jahr und Monat aus DATE spalte in MySQL abfragen.

Hallo!

Ich habe eine MySQL Tabelle, in der u.a. die Spalte "DATUM" im Format yyyy-mm-tt existiert.
Nun möchte ich aber, das der Besucher die ausgegeben Daten nach Jahr und Monat per Formular filtern kann.

Z.B. so:
"Zeige mir alle Datensätze aus dem Jahr [FORMULAR]"

Das Problem besteht darin, das ich nicht weiß, wie so ein query bei MySQL aussehen muss oder geht das gar nicht?
Wären Timestamps besser?

Ich hoffe, dass Ihr versteht was ich meine.
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 14.09.2005, 23:48  
Erfahrener Benutzer
 
Registriert seit: 23.06.2004
Beiträge: 139
Heart zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

SELECT DATE_FORMAT(DATUMFELD, '%Y') AS JAHR FROM ......
Heart ist offline   Mit Zitat antworten
Alt 15.09.2005, 01:36  
Gast
 
Beiträge: n/a
Standard

Danke!

Aber jetzt habe ich noch ein Problem.

Hier erstmal die Abfrage:

PHP-Code:
<?php
$query
"SELECT *,DATE_FORMAT(datum, '%d.%m.%Y - %H:%i') AS datum FROM `v2006-content` WHERE 1 AND `empfaenger` = 'all' ORDER BY `datum` DESC LIMIT ".$MAX_EINTRAEGE." ";
        
$result mysql_query($query);
        
$number mysql_num_rows($result);

?>
Das Problem liegt hierbei bei dem "ORDER BY".
Und zwar sortiert er die Daten nicht nach chronologisch sondern nach der höhe der Zahlen.

Beispiel:
30.08.2005
30.06.2005
13.07.2005
01.01.2006

Aber es sollte eigentlich so aussehen:
01.01.2006
30.08.2005
13.07.2005
30.06.2005

Kann mir da einer sagen warum MySql das so macht?
  Mit Zitat antworten
Alt 15.09.2005, 10:28  
Gast
 
Beiträge: n/a
Standard

Du kannst das Datum, im Format von 'datetime' [yyyy-mm-tt hh:ii:ss]
sehr gut - und korrekt - zum sortieren verwenden!
Allerding nicht ein Datum, das du mit DATE_FORMAT(datum, '%d.%m.%Y - %H:%i') umgebaut hast.
Du solltest dem 'umgebauten Datum' deshalb einen neuen Namen verpassen,
und zum Sortieren das 'date bzw. datetime -Format' verwenden.
zB so:

PHP-Code:
<?php
$query
"SELECT *,
            DATE_FORMAT(datum, '%d.%m.%Y - %H:%i') AS form_datum /* <<< umgebaut und umbenannt <<< */
        FROM `v2006-content`
        WHERE `empfaenger` = 'all'
        ORDER BY `datum` DESC                         /* im Format "
yyyy-mm-tt hh:ii:ss" */
        LIMIT "
.$MAX_EINTRAEGE." ";
$result mysql_query($query);
$number mysql_num_rows($result);
?>
~dilemma~
  Mit Zitat antworten
Alt 15.09.2005, 12:15  
Gast
 
Beiträge: n/a
Standard

da hätte man ja auch selbst drauf kommen können
  Mit Zitat antworten
Alt 22.09.2005, 18:19  
Benutzer
 
Registriert seit: 15.09.2005
Beiträge: 39
rockinchina
Standard

[quote="dilemma"]...

PHP-Code:
<?php
$query
"SELECT *,
            DATE_FORMAT(datum, '%d.%m.%Y - %H:%i') AS form_datum /* <<< umgebaut und umbenannt <<< */
        FROM `v2006-content`
        WHERE `empfaenger` = 'all'
        ORDER BY `datum` DESC                         /* im Format "
yyyy-mm-tt hh:ii:ss" */
        LIMIT "
.$MAX_EINTRAEGE." ";
$result mysql_query($query);
$number mysql_num_rows($result);
?>
/quote]

Funktioniert denn überhaupt die Kombination von "SELECT *," und "DATE_FORMAT(...)" in einer Abfrage? Bei mir hat es nicht funktioniert. Geht es denn mit einem JOIN, um diese zwei Abfrage in einem Result zupacken?
__________________
www.rockinchina.com
rockinchina ist offline   Mit Zitat antworten
Alt 23.09.2005, 18:00  
Gast
 
Beiträge: n/a
Standard

Bei mir funktioniert das so.
  Mit Zitat antworten
Alt 24.09.2005, 02:40  
Benutzer
 
Registriert seit: 15.09.2005
Beiträge: 39
rockinchina
Standard

ok, danke, jetzt funktionierts auch bei mir, musste nur die Anführungen `..` zu den Variables dazustellen.
__________________
www.rockinchina.com
rockinchina 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
Frage: richtige SQL Abfrage von einer MySQL Spalte die SET werte besitzt Seb PHP Tipps 2008 2 29.05.2008 11:36
Berechnung über mehrere Abfragen aus mysql Slappi PHP Tipps 2008 2 18.12.2007 14:22
Teil einer Spalte abfragen? Peoples Datenbanken 2 20.08.2006 15:22
Monatskalender HTML, Usability und Barrierefreiheit 7 13.11.2005 19:28
[Erledigt] MySQL Abfragen als Frage-Antwort Datenbanken 0 31.05.2005 18:35
info über mysql status abfragen nieselfriem Datenbanken 4 13.04.2005 09:42
mysql doppelte Vorkommen einer Spalte ausblenden PHP Tipps 2005 3 23.03.2005 15:56
Kann man Mysql Datenbanken abfragen ob Sie verfügbar sind ? Datenbanken 2 12.03.2005 16:39
MySQL Tabelle nach wert in spalte durchsuchen PHP Tipps 2005 5 31.01.2005 20:37
between datum abfragen mysql hekto Datenbanken 2 12.01.2005 11:07
monat und jahr mit php?! PHP Tipps 2005 2 01.01.2005 15:51
aus date jahr auslesen Datenbanken 12 11.11.2004 11:51
Password aus mySQL abfragen und vergleichen ob zu User passt PHP Tipps 2004 2 14.10.2004 10:15
Problem mit 2 gleichzeitigen MySQL abfragen PHP Tipps 2004 2 08.07.2004 13:57
MySQL DB Tabellen Kommentar abfragen Datenbanken 3 13.06.2004 22:41

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql jahr, mysql jahr aus datum, mysql monat abfragen, mysql monat aus datum, mysql date, mysql datum monat, mysql datum jahr, mysql monat, mysql date jahr, mysql date monat, mysql monat jahr, mysql date nur jahr, http://www.php.de/datenbanken/30929-erledigt-jahr-und-monat-aus-date-spalte-mysql-abfragen.html, mysql abfrage jahr, mysql monate abfragen, mysql monat und jahr, mysql abfrage monat, mysql where jahr, mysql jahr abfragen, php mysql monat

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:22 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.