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 ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 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 > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #21  
Alt 27.11.2004, 14:37:34
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Kann es sein, dass die Abfrage eigentlich so aussehen muss:
PHP-Code:
<?php
    $sql 
"SELECT COUNT(id) AS amount FROM tabelle WHERE ( date_from >= '" $timestamp_date_from "' AND date_to <= '" $timestamp_date_to "' ) OR ( date_from >= '" $timestamp_date_to "' AND date_to <= '" $timestamp_date_from "' )";
?>
Mit Zitat antworten
  #22  
Alt 27.11.2004, 15:11:28
exweised exweised ist offline
Anfänger
 
Registriert seit: Jun 2004
Beiträge: 112
bringt auch nix.

es is total komisch. bei bestimmten kombinationen funktioniert es richtig, dann wieder nicht. etc.
Mit Zitat antworten
  #23  
Alt 27.11.2004, 17:11:10
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Zitat:
Original geschrieben von exweised
bringt auch nix.

es is total komisch. bei bestimmten kombinationen funktioniert es richtig, dann wieder nicht. etc.
Dann zeig doch mal einen Dump deiner Datenbank und mit welchen Daten du es versucht hast.
Mit Zitat antworten
  #24  
Alt 27.11.2004, 17:47:47
exweised exweised ist offline
Anfänger
 
Registriert seit: Jun 2004
Beiträge: 112
was meinst du mit dumb? ich hab mal nen scrrenshot gemacht.

in der datenbank steht das:

http://www.picupload.net/files/20042711/1101569952.png

probiert das:

01.12.2004 - 02.12.2004: wäre belegt: amount = 0: fazit falsch

30.11.2004 - 04.12.2004: wäre belegt: amount = 2: fazit korrekt

02.12.2004 - 02.12.2004: wäre frei: amount = 0: fazit korrekt

05.12.2004 - 06.12.2004: wäre frei: amount = 0: fazit korrekt

05.12.2004 - 07.12.2004: wäre belegt: amount = 0: fazit falsch
Mit Zitat antworten
  #25  
Alt 27.11.2004, 18:39:45
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Verändere dein Query mal so, dass auch Daten gefunden werden, bei denen zwar das Startdatum in die Zeitspanne fällt, das Enddatum aber nicht, und umgekehrt:
PHP-Code:
<?php
    $sql 
"SELECT
                COUNT(id) AS amount
            FROM
                tabelle
            WHERE
                date_from >= '$timestamp_date_from' OR
                date_from >= '$timestamp_date_to' OR
                date_to <= '$timestamp_date_from' OR
                date_to <= '$timestamp_date_to'"
;
?>
Mit Zitat antworten
  #26  
Alt 27.11.2004, 19:36:53
exweised exweised ist offline
Anfänger
 
Registriert seit: Jun 2004
Beiträge: 112
ok, ich nehm zum vergleich mal die selben datums:

01.12.2004 - 02.12.2004: wäre belegt: amount = 5: fazit korrekt

30.11.2004 - 04.12.2004: wäre belegt: amount = 5: fazit korrekt

02.12.2004 - 02.12.2004: wäre frei: amount = 5: fazit falsch

05.12.2004 - 06.12.2004: wäre frei: amount = 5: fazit falsch

05.12.2004 - 07.12.2004: wäre belegt: amount = 5: fazit korrekt

neu:
24.12.2004 - 24.12.2004: wäre frei: amount = 5: fazit falsch


kommt irgendwie immer 5 raus.
Mit Zitat antworten
  #27  
Alt 27.11.2004, 20:35:45
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Ich glaube, jetzt habe ich es. Im Prinzip geht es ja nur darum, ob das Start- oder das Enddatum in einer Zeitspanne enthalten ist. Da war der Ansatz oben weiter doch nicht so falsch. Ich habe ihn nur falsch korrigiert.
Probier es mal hiermit:
PHP-Code:
<?php
    $sql 
"SELECT
                COUNT(id) AS amount
            FROM
                tabelle
            WHERE
                (date_from <= '{$timestamp_date_from}'  AND
                date_to    >= '{$timestamp_date_from}') OR
                (date_from <= '{$timestamp_date_to}'    AND
                date_to    >= '{$timestamp_date_to}')"
;
?>

Geändert von xabbuh (27.11.2004 um 22:25:59 Uhr)
Mit Zitat antworten
  #28  
Alt 27.11.2004, 21:44:52
exweised exweised ist offline
Anfänger
 
Registriert seit: Jun 2004
Beiträge: 112
01.12.2004 - 02.12.2004: wäre belegt: amount = 0: fazit falsch

30.11.2004 - 04.12.2004: wäre belegt: amount = 0: fazit falsch

02.12.2004 - 02.12.2004: wäre frei: amount = 0: fazit korrekt

05.12.2004 - 06.12.2004: wäre frei: amount = 0: fazit korrekt

05.12.2004 - 07.12.2004: wäre belegt: amount = 0: fazit falsch

24.12.2004 - 24.12.2004: wäre frei: amount = 0: fazit korrekt

jetzt kommt immer 0 raus. irgendwie kann man es wenden wie man will. *heul*
Mit Zitat antworten
  #29  
Alt 27.11.2004, 22:25:45
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Probiere es mal, indem du die Vergleichsoperatoren in der Abfrage umkehrst (s. meinen editierten Beitrag).
Mit Zitat antworten
  #30  
Alt 28.11.2004, 12:49:49
exweised exweised ist offline
Anfänger
 
Registriert seit: Jun 2004
Beiträge: 112
01.12.2004 - 02.12.2004: wäre belegt: amount = 1: fazit korrekt

30.11.2004 - 04.12.2004: wäre belegt: amount = 2: fazit korrekt

02.12.2004 - 02.12.2004: wäre frei: amount = 0: fazit korrekt

05.12.2004 - 06.12.2004: wäre frei: amount = 0: fazit korrekt

05.12.2004 - 07.12.2004: wäre belegt: amount = 1: fazit korrekt

24.12.2004 - 24.12.2004: wäre frei: amount = 0: fazit korrekt

wow, bis jetzt die beste lösung. *freu*
sobald der tag belegt ist, ist amount nicht null. aber:

02.12.2004 - 05.12.2004: wäre belegt: amount = 0: fazit falsch

der 2.12. & 5.12. sind zwar frei, aber der 3.12. & 4.12. sind ja schon weg. da darf amount nicht null sein.
man ist das kompliziert. :roll:
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:02:38 Uhr.


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


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