SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 11.08.2005, 20:19:02
klaus-maus klaus-maus ist offline
Anfänger
 
Registriert seit: Aug 2004
Beiträge: 65
Abfrage

Hallo,
ich habe ein kleines Problem mit einer Abfrage und bin schon einige Stunden vergeblich am probieren:
Aus einer Tabelle mit Ansetzungen für Fussballspiele sollen die nächsten Spiele ermittelt werden. Erreicht werden soll folgendes:
Momentan werden sämtliche Spiele des aktuellen Spieltages angezeigt, wenn spiel_date >= NOW() ist.

Das mache ich mit folgender Abfrage und werte das Ergebnis weiter aus:
SQL="SELECT spiel_date FROM ansetzungen WHERE spiel_date >=NOW() ORDER BY sp_date ASC LIMIT 1";

Unschön daran ist, dass auch die Spiele weiter angezeigt werden, die bereits beendet sind; erst 00:00 Uhr werden die Ansetzungen des nächsten Spieltages angezeigt.

Wie bekomme ich jetzt eine Abfrage in der Form hin:
SQL="SELECT spiel_date,spiel_zeit,CURTIME() FROM ansetzungen WHERE spiel_date >=NOW() AND spiel_zeit >= CURTIME() ORDER BY spiel_zeit ASC LIMIT 1";

ich glaube, das Problem ist das datum, das dürfte wohl nur 1x auftauchen. Wie bekomme ich das hin? Das Ergebnis dieser Abfrage wird in eine Variable geschrieben und weiter ausgewertet.

Habe da im Moment wohl einen Quirl im Kopf.
Gruß Klaus
Mit Zitat antworten
  #2  
Alt 11.08.2005, 21:02:54
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Abfrage

Wie sieht denn überhaupt deine Tabellenstruktur aus?
Mit Zitat antworten
  #3  
Alt 12.08.2005, 07:48:55
heddesheimer heddesheimer ist offline
Anfänger
 
Registriert seit: Aug 2005
Beiträge: 21
AW: Abfrage

Ich vermute mal, SPIEL_DATE ist vom Typ DATE.

Ersetze das einfach mit dem Datentyp DATETIME, dann verschwidet das Problem von selbst. In das Feld SPIEL_DATE musst du dann natürlich auch die Zeit mit eingeben, wenn der Datensatz gespeichert wird.

Gruß Marian
__________________
Online-Kurse die jeder versteht: HTML, PHP, MySQL, Word und Excel
http://www.lernpilot.de/wbt/
Mit Zitat antworten
  #4  
Alt 12.08.2005, 11:19:55
klaus-maus klaus-maus ist offline
Anfänger
 
Registriert seit: Aug 2004
Beiträge: 65
AW: Abfrage

Hallo,
so sieht die Tabelle ansetzungen = $table8 aus:

sp_ID int(3) Nein auto_increment
sp_date date Nein 0000-00-00
sp_zeit time Nein 00:00:00
team_ID char(2) Nein
sp_ort1_ID varchar(10) ...
sp_ort2_ID varchar(10)
sp_erg_1 int(2)
sp_erg_2 int(2)
sp_pokal int(1)

( die char bzw. varchar-Felder sollten wahrscheinlich auf int() umgestellt werden)

Ich habe das Problem jetzt mittels mehrerer unterschiedlicher Abfragen gelöst.

$datum_SQL="SELECT sp_date FROM $table8 WHERE sp_date>=NOW() ORDER BY sp_date ASC LIMIT 1";
$datum_result=mysql_query($datum_SQL);
while($tmp_datum=mysql_fetch_array($datum_result)){
$tmp_1=$tmp_datum['sp_date'];
}

$zeit_SQL="SELECT sp_ID,sp_date,sp_zeit FROM $table8 WHERE sp_date >=NOW() ORDER BY sp_zeit ASC LIMIT 1";
$zeit_result=mysql_query($zeit_SQL);
while($tmp_zeit=mysql_fetch_array($zeit_result)){
$tmp_2=$tmp_zeit['sp_zeit'];
}

$tmp_SQL="SELECT sp_date,sp_zeit,CURTIME() FROM $table8 WHERE sp_date=NOW() AND sp_zeit>=CURTIME()";
$tmp_result=mysql_query($tmp_SQL);
$tmp_zahl = @mysql_num_rows($tmp_result);

$tmp_5_SQL="SELECT sp_date FROM $table8 WHERE sp_date>NOW() ORDER BY sp_date ASC LIMIT 1";
$tmp_5_result=mysql_query($tmp_5_SQL);
while($tmp_x=mysql_fetch_array($tmp_5_result)){
$tmp_5=$tmp_x['sp_date'];
}

if ($tmp_1 == date("Y-m-d") && date("H:i:s") >= '$tmp_2') {
$abfrage = 't3.sp_date=NOW() AND t3.sp_zeit>=CURTIME()';
}

if ($tmp_1 == date("Y-m-d") && $tmp_zahl < '1') {
$abfrage = "t3.sp_date>NOW() AND t3.sp_date='$tmp_5'";
}

if ($tmp_1 > date("Y-m-d")) {
$abfrage = "t3.sp_date>=NOW() AND t3.sp_date='$tmp_1'";
}

$abfrage wird als Teil der WHERE - Klausel im "Haupt-SQL-Statement" eingebunden. Sicher nicht sehr elegant, aber es funktioniert.
War sehr heftig, habe mich sehr oft verirrt ;-).

Gruss Klaus.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Abfrage mit Alias Soeren MySQLi/PDO/(MySQL) 3 21.12.2004 13:00:29
Benötige Hilfe für dyn. Abfrage mittles PHP Trialrider PHP für Fortgeschrittene und Experten 70 09.10.2003 10:08:56
Problem bei MYSQL Abfrage DiJae PHP für Fortgeschrittene und Experten 1 30.01.2003 08:27:08
select feld mit if abfrage? Silencer PHP für Fortgeschrittene und Experten 3 20.11.2002 09:34:59
mySQL Abfrage mit NULL Einträgen HeikoH PHP für Fortgeschrittene und Experten 2 29.10.2002 01:41:19


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:16:32 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt