php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.09.2009, 12:32  
Neuer Benutzer
 
Registriert seit: 28.08.2009
Beiträge: 9
PHP-Kenntnisse:
Anfänger
tf_traveler befindet sich auf einem aufstrebenden Ast
Standard Knifflige Abfrage [SELECT-Problem]

Hallo,

Ich habe nun wie in einem anderen Post bereits gelöst zwei Tabellen für eine Abfrage miteinander verbunden. Es ist ein einfacher Terminkalender, die erste Tabelle beinhaltet die Programme, die zweite den Zeitplan.

Nun wollte ich zusätzlich den Event ausspucken, der dem aktuellen Datum am nächsten kommt. Das klappt auch ganz gut, so lange ich die Datum-Abfrage nicht in die SELECT-Abfrage einbaue. Da ich bereits mit INNER JOIN arbeite, habe ich die Abfrage im Anschluss in eine Schleife gesetzt. Das Problem ist nur, dass ich die Abfrage so nicht auf 1 Eintrag limitieren kann. Hier mal der Code. Ich weiss einfach nicht weiter ... vielleicht hat ja jemand einen plan oder link wo ich nachblättern kann??

PHP-Code:
<?php
$abfrage 
"SELECT * 
FROM t_programm INNER JOIN t_time 
ON t_programm.userkey=t_time.splanprogramm 
order by splanmonat desc LIMIT 0,1"
;
$ergebnis mysql_query($abfrage);
while(
$row mysql_fetch_object($ergebnis))
{
 
// hiddendate ist das gespeicherte Datum in der DB. Abfrage ob hiddendate größer/gleich dem aktuellen Datum
 // Problem: Ich kann an dieser Stelle keine Limitierung auf 1 Eintrag vornehmen.
 
if ($row->hiddendate >= date("Y-m-d")) {

 
 
// Ausgabe des Titels    
 
echo $row->titel


 } 

?>
tf_traveler ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 02.09.2009, 12:54  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

naja Du musst eben datensätze abfragen deren datum größer als das aktuelle und absteigend sortieren und auf eins limitieren...
HPR1974 ist offline   Mit Zitat antworten
Alt 03.09.2009, 00:26  
Neuer Benutzer
 
Registriert seit: 28.08.2009
Beiträge: 9
PHP-Kenntnisse:
Anfänger
tf_traveler befindet sich auf einem aufstrebenden Ast
Standard

hi, das ist mir klar. aber wenn ich aus

PHP-Code:
$abfrage "SELECT * 
FROM t_programm INNER JOIN t_time 
ON t_programm.userkey=t_time.splanprogramm 
ORDER BY splanmonat desc LIMIT 0,1"

das hier mache

PHP-Code:
$abfrage "SELECT * 
FROM t_programm INNER JOIN t_time 
ON t_programm.userkey=t_time.splanprogramm 
WHERE hiddendate >= date("
Y-m-d")
ORDER BY splanmonat desc LIMIT 0,1"

dann sagt mir der browser das die Anweisung zuviel bzw. falsch ist ?? ;o(
tf_traveler ist offline   Mit Zitat antworten
Alt 03.09.2009, 00:49  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
sagt mir der browser das die Anweisung zuviel bzw. falsch ist
a) sagt der Browser nichts
b) sagt der Browser nichts
c) ist das keine Fehlermeldung

Du kannst in Strings nicht die selben Begrenzer nicht benutzen, wie die, die den String begrenzen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 03.09.2009, 01:14  
Neuer Benutzer
 
Registriert seit: 28.08.2009
Beiträge: 9
PHP-Kenntnisse:
Anfänger
tf_traveler befindet sich auf einem aufstrebenden Ast
Standard

sorry, ich bin leider nicht so fit in datenbankanbindung (meinte den Fehler-Kommentar, der im Browser angezeigt wird) .. gebe aber mein bestes mich verständlich auszudrücken.

weißt du ob es überhaupt möglich ist?

ich muss leider die zwei tables verbinden um zum Termin auch die Informationen anzeigen zu können. ich surf google rauf und runter ... ;O((
tf_traveler ist offline   Mit Zitat antworten
Alt 03.09.2009, 07:49  
Neuer Benutzer
 
Registriert seit: 24.08.2009
Beiträge: 21
PHP-Kenntnisse:
Fortgeschritten
Das_S befindet sich auf einem aufstrebenden Ast
Standard

Schau mal genau hin:

Code:
"SELECT * 
FROM t_programm INNER JOIN t_time 
ON t_programm.userkey=t_time.splanprogramm 
WHERE hiddendate >= date("Y-m-d")
ORDER BY splanmonat desc LIMIT 0,1";
Man achte genau auf date("Y-m-d"). Oben vor dem select öffnest Du einen String mit " , dann schließt Du den string wieder mit "Y und öffnest ihn wieder mit d" und schliesst ihn wieder bei 1".

Merkste was ? Einfach ausgedrückt gehört das Y-m-d nicht zu Deiner Abfrage. Das hat nichts mit Datenbankanwenung zu tun sondern einfach nur "Ich habe in meinen string den Überblick verloren".

Deswegen sage ich immer: Nutzt mehr Stored Procedures.
__________________
Ärgere dich nicht, dass die Rosen Dornen haben, sondern freu' dich, dass die Dornen Rosen haben.

Geändert von Das_S (03.09.2009 um 07:53 Uhr).
Das_S ist offline   Mit Zitat antworten
Alt 03.09.2009, 13:26  
Neuer Benutzer
 
Registriert seit: 28.08.2009
Beiträge: 9
PHP-Kenntnisse:
Anfänger
tf_traveler befindet sich auf einem aufstrebenden Ast
Standard

danke für den hinweis mit dem string. das war aber nur bei einem meiner verzweifelten versuche. ich habe das problem lösen können. es geht, auch wenn nikosch meint das es nicht möglich ist:

PHP-Code:
SELECT 
  

  
FROM t_programm 
  INNER JOIN t_time 
  ON t_programm
.userkey=t_time.splanprogramm 
  WHERE hiddendate 
>= CURRENT_DATE() 
  
order by hiddendate desc LIMIT 0,1"; 
trotzdem danke !!
tf_traveler ist offline   Mit Zitat antworten
Alt 03.09.2009, 13:45  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

@see #2
HPR1974 ist offline   Mit Zitat antworten
Alt 03.09.2009, 14:57  
Neuer Benutzer
 
Registriert seit: 28.08.2009
Beiträge: 9
PHP-Kenntnisse:
Anfänger
tf_traveler befindet sich auf einem aufstrebenden Ast
Standard

sorry, danke. das war eigentlich die richtige antwort, ich wusste nur nicht wie die aussehen soll, bis ich selber darüber gestolpert bin. vielen dank HPR1974 und sorry das ich schwer von Verstand bin! Manchmal denkt man zu kompliziert.
tf_traveler 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
Abfrage von einer Abfrage Datenbanken 5 27.01.2011 23:31
Problem mit Abfrage - join, inner join, distinct? Gachet01 Datenbanken 2 27.01.2011 06:49
Scriptsuche [Erledigt] SQL- Abfrage über 2 tabellen ejim Scriptbörse 1 17.07.2009 21:10
Knifflige MYSQL Abfrage Fritz73 Datenbanken 1 16.01.2009 21:36
SQL Abfrage ohne DESC langsam Thisi Datenbanken 5 07.01.2009 09:53
Wiemache ich eine Abfrage über 3 Tabellen??? djscaleo Datenbanken 8 05.01.2009 10:46
MySQL - Fehler in einfacher Abfrage oden Datenbanken 11 03.01.2009 20:03
Knifflige Abfrage oder völlig verqueres Design? Anotherone Datenbanken 4 02.03.2006 12:07
[Erledigt] mysql abfrage über 4 Tabelle - bis 3 geht, bei der 4. habert Datenbanken 2 08.09.2005 11:59
[Erledigt] Knifflige Abfrage Datenbanken 2 16.04.2005 20:53
[Erledigt] IF() abfrage in variable packen PHP Tipps 2005 14 01.04.2005 17:23
Abfrage von Char-Feldern Datenbanken 9 04.02.2005 14:06
[Erledigt] Mysql Abfrage Problem! PHP-Fortgeschrittene 5 27.11.2004 10:22
Abfrage funktioniert zwar, aber nicht korrekt Datenbanken 2 16.08.2004 09:10
Abfrage aus DB noch mal ausgeben und Abfrage aus mehrern Tab PHP Tipps 2004 4 12.07.2004 15:00

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
knifflige if abfragen, php abfrage select, php select abfrage where größer gleich, knifflige selects

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