SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden. |
 |

13-04-2010, 12:00
|
fritzje610
Registrierter Benutzer
|
|
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 326
|
|
Mit datetime schreiben, aber mit date suchen
Hallo zusammen,
ich habe mal wieder ein kleines Problem mit einem query.
Die Spalte hat das Format dateime und wird mit
PHP-Code:
date(Y-m-d H:i:s)
reingeschrieben. Funktioniert einwandfrei soweit alles klar.
Nun versuche ich alle Datensätze die zu einem bestimmten Datum in die Relation geschrieben wurden wieder auszulesen. Sprich auf die datetime-Spalte zuzugreifen, wobei aber der Zeitanteil ignoriert werden soll.
Hier der query, der leider kein Ergebnis bringt. $_GET['datum'] hat das richtige Format.
PHP-Code:
$query = "SELECT au_nr, projekt FROM laufzettel WHERE buchungsdatum = '".$_GET['datum']."' GROUP BY au_nr";
Ich vermute mal, dass im WHERE nicht mit = gearbeitet werden kann. Nur was muss ich da nehmen ???
Vielen Dank für eure Hilfe !
__________________
Gruß
Michael
|

13-04-2010, 12:03
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
|
|
Zitat:
Zitat von fritzje610
Ich vermute mal, dass im WHERE nicht mit = gearbeitet werden kann. Nur was muss ich da nehmen ???
|
http://dev.mysql.com/doc/refman/5.1/...functions.html
|

13-04-2010, 12:04
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.880
|
|
Du solltest deinen Code vor SQL-Injections schützen.
PHP: SQL Injection - Manual
|

13-04-2010, 12:46
|
fritzje610
Registrierter Benutzer
|
|
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 326
|
|
Ich habe mir den Artikel von onemorenerd mal angesehen, komme aber nicht weiter. Ich komme nicht darauf, wie der WHERE-Teil aussehen muss.
Habt ihr was konkreteres zur Hand ?
Danke !
__________________
Gruß
Michael
|

13-04-2010, 12:54
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.709
|
|
In diesem Thread ging es nebenbei auch um Datumsfunktionen.
Davon abgesehen: Sind die Beispiele im MySQL-Handbuch nicht konkret genug? Dort werden diese Funktionen sogar ebenfalls in der Where-Klausel vorgeführt.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

13-04-2010, 13:05
|
fritzje610
Registrierter Benutzer
|
|
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 326
|
|
Ich blicks echt nicht. Das Datum habe ich mit %Y %m %d versucht zu formatieren, aber das bringt keinen Erfolg. Wie muss dieser blöde query denn aussehen. So langsam verzweifle ich daran.
__________________
Gruß
Michael
|

13-04-2010, 13:21
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.709
|
|
Dann nimm dir die Zeit und lies das Handbuch und die Beispiele.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

13-04-2010, 13:24
|
fritzje610
Registrierter Benutzer
|
|
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 326
|
|
Das ist richtig, aber es fehlt mir momentan die Zeit, ich brauch ein Ergebnis.
Mittlerweile bin ich hier angelangt
PHP-Code:
$query = "SELECT au_nr, projekt DATE('".$_GET['datum']."')AS buchungsdatum FROM laufzettel GROUP BY au_nr";
Allerdings gibts dann ne Syntax-Fehlermeldung.
Kommt, lasst mich nicht hängen, wie muss dieser query lauten. Ich hab sonst echt ein großes Problem an der Hacke.
Danke !
__________________
Gruß
Michael
|

13-04-2010, 13:43
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
Zitat:
Zitat von fritzje610
Das ist richtig, aber es fehlt mir momentan die Zeit, ich brauch ein Ergebnis.
|
Das ist uns egal.
Zitat:
Allerdings gibts dann ne Syntax-Fehlermeldung.
|
Zu einer cleveren Fehlerbeschreibung gehört natürlich unbedingt, den genauen Wortlaut von Fehlermeldungen zu verschweigen.
Zitat:
Kommt, lasst mich nicht hängen, wie muss dieser query lauten. Ich hab sonst echt ein großes Problem an der Hacke.
|
Hör auf, rumzujammern.
Wenn du dich mit deinen Projekten übernimmst, ist das einzig und allein dein Problem.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

13-04-2010, 13:46
|
fritzje610
Registrierter Benutzer
|
|
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 326
|
|
Ungültige Abfrage: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('2010-04-12') AS buchungsdatum FROM laufzettel GROUP BY au_nr' at line 1
__________________
Gruß
Michael
|

13-04-2010, 13:50
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.709
|
|
Prüf alle geforderten Kommas! Davon abgesehen verstehe ich nicht, was es bringen soll, ein PHP-Datum als Spaltenreferenz in eine Abfrage einzubauen, um es dann mit PHP wieder abzurufen. Wolltest du nicht was mit einer Where-Klausel machen?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

13-04-2010, 13:57
|
fritzje610
Registrierter Benutzer
|
|
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 326
|
|
Ich möchte aus der Tabelle laufzettel alle Datensätze, gruppiert nach au_nr, finden, die am Datum, dies steht in $_GET['datum'], eingetragen wurden.
Dabei ist die Uhrzeit nicht relevant und die Spalte buchungsdatum (die die abgefragt werden soll) hat den Typ datetime.
__________________
Gruß
Michael
|

13-04-2010, 14:02
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.709
|
|
Also willst du nach etwas filtern. Wie filtert man? Richtig, mit WHERE. Was steht hinter dem WHERE? Ein Vergleich. Wie ist der aufgebaut? Etwas aus dem Datensatz links, etwas vorgegebenes rechts, dazwischen ein Vergleichsoperator, z. B. =. Deine Vorgabe ist das Datum aus PHP. Der Ausdruck links ist das Datum aus dem Datensatz. Wie bekommst du das? Indem du DATE auf die DATETIME-Spalte anwendest? War das schwer? Nein.
Bevor du Projekte annimmst, bei denen du Geld verdienen willst und/oder Termine einhalten musst, solltest du diese Grundlagen beherrschen. Das Forum ist keine Reparaturwerkstatt für Entwicklungshochstapler.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

13-04-2010, 14:10
|
fritzje610
Registrierter Benutzer
|
|
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 326
|
|
Wenn ich Geld damit verdienen würde, wäre es schön.
Mein Fehler war, dass ich den falschen Teil des Vergleichs anpassen wolte.
Es wäre doch einfacher gewesen zu sagen, guck mal in den WHERE-Teil und den Vergleich darin,
als mit irgendwelchen Links um sich zu werfen. Der letze Post war der, der mir geholfen hat.
Das hätte einfacher und schneller gehen können.
Den Entwicklungshochstapler will ich jetzt nicht weiter kommentieren.
__________________
Gruß
Michael
Geändert von fritzje610 (13-04-2010 um 14:18 Uhr)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|