php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 28-10-2008, 23:45
dirrtyfriday
 Newbie
Links : Onlinestatus : dirrtyfriday ist offline
Registriert seit: Oct 2008
Ort: München
Beiträge: 9
dirrtyfriday ist zur Zeit noch ein unbeschriebenes Blatt
Standard Zeitabfrage

Hi Leute,

ich hab ein kleines (großes) prolem.
Ich möchte gern ein Bestellformular für eine Heiservice Homepage programmieren.

Mein Problem dabei liegt darin, dass ich nicht so recht weiß, wie ich das mit den Öffnungszeiten lösen soll.

Der Heimservice hat nur Lieferzeiten zwischen 11:00 Uhr und 14:00 Uhr und dann wieder ab 17:00 Uhr bis 23:00 Uhr.

wie kann ich es realisieren, dass ein Script checkt ob es momentan zwischen 14 und 17 uhr bzw. nach 23 Uhr ist und den besteller dann sagt dass er außerhalb der lieferzeiten bestellt?

Vielen Dank im Voraus für Eure Mühen!

LG
Mo
__________________
Leben und leben lassen
Mit Zitat antworten
  #2 (permalink)  
Alt 29-10-2008, 00:03
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

In dem du die aktuelle Zeit ermittels und prüfst, ob diese innerhalb deiner Zeitfenster ist. time() und strtotime() wird dich da bestimmt weiter bringen!
Mit Zitat antworten
  #3 (permalink)  
Alt 29-10-2008, 00:48
dirrtyfriday
 Newbie
Links : Onlinestatus : dirrtyfriday ist offline
Registriert seit: Oct 2008
Ort: München
Beiträge: 9
dirrtyfriday ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wie kann ich strtotime(); am besten nutzen?
__________________
Leben und leben lassen
Mit Zitat antworten
  #4 (permalink)  
Alt 29-10-2008, 01:05
CSlade
 Registrierter Benutzer
Links : Onlinestatus : CSlade ist offline
Registriert seit: Jun 2007
Beiträge: 4
CSlade ist zur Zeit noch ein unbeschriebenes Blatt
Post

Hi, ich würde dieses Problem eher so lösen.



PHP-Code:
$aktuelleZeit date("Y-m-d H:i");
$start1 = (date("Y-m-d") . " 11:00");
$ende1 = (date("Y-m-d") . " 14:00");
$start2 = (date("Y-m-d") . " 17:00");
$ende2 = (date("Y-m-d") . " 23:00");

if((
$aktuelleZeit $start1 && $aktuelleZeit $ende1) || ($aktuelleZeit $start2 && $aktuelleZeit $ende2))
{
    
// In den Öffnungszeiten
}
else
{
    
// Ausserhalb der Öffnungszeiten


Ist vielleicht nicht die beste Lösung aber funktioniert durchaus.


Gruß
CSlade
__________________
http://www.bmtec.org
Mit Zitat antworten
  #5 (permalink)  
Alt 29-10-2008, 01:20
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.608
h3ll befindet sich auf einem aufstrebenden Ast
Standard

@CSlade

Das Datum kannst du in dem Fall aber komplett weglassen. Es reicht die Uhrzeiten, bzw. in diesem speziellen Fall die Stundenzahlen zu vergleichen.
Mit Zitat antworten
  #6 (permalink)  
Alt 29-10-2008, 01:20
dirrtyfriday
 Newbie
Links : Onlinestatus : dirrtyfriday ist offline
Registriert seit: Oct 2008
Ort: München
Beiträge: 9
dirrtyfriday ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Cool... das funktioniert. PERFECT....Großes Dakeschön

AAAAAAABER....

Ein Heimservice hat ja Samstags, Sonn. -und Feiertage durchgehend von 11 Uhr - 23 Uhr geöffnet.

Ich denk mal das mir den Samstagen und Sonntagen sollte machbar sein, aaaber wie macht man das dann mit den Feiertagen?

Muss ich die da alle dann eingeben bzw. checken lassen!?

Sorry, bin noch nicht so lange mit PHP dabei...
__________________
Leben und leben lassen
Mit Zitat antworten
  #7 (permalink)  
Alt 29-10-2008, 01:22
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Das Problem am Type Juggling von PHP ist, dass jonglieren für ungeübte schnell mal in einem heillosen Durcheinander enden kann. Und auch für erfahrene Programmierer ist es nicht Sinnvoll, sich auf die (nicht immer konsequente) kontextabhängige Typenkonvertierung von PHP zu verlassen. Ich würde hier definitiv auf Timestamps setzen!
Mit Zitat antworten
  #8 (permalink)  
Alt 29-10-2008, 01:30
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.608
h3ll befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
<?php

$geoeffnet 
false;
$zeit date('H:i');

$oeffnungszeiten = array(
    
'werktag'  => array('11:00' => '14:00''17:00' => '23:00'),
    
'feiertag' => array('11:00' => '23:00')
);

foreach (
$oeffnungszeiten[date('N') > 'feiertag' 'werktag'] as $oeffnen => $schliessen)
    if (
$zeit >= $oeffnen && $zeit $schliessen)
        
$geoeffnet true;

if (
$geoeffnet) {
    
// In den Oeffnungszeiten
} else {
    
// Ausserhalb der Oeffnungszeiten
}

?>

Geändert von h3ll (29-10-2008 um 01:35 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 29-10-2008, 01:31
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.608
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von unset
Das Problem am Type Juggling von PHP ist, dass jonglieren für ungeübte schnell mal in einem heillosen Durcheinander enden kann. Und auch für erfahrene Programmierer ist es nicht Sinnvoll, sich auf die (nicht immer konsequente) kontextabhängige Typenkonvertierung von PHP zu verlassen. Ich würde hier definitiv auf Timestamps setzen!
Es wird hier nichts konvertiert. Es werden Strings mit Strings verglichen.
Mit Zitat antworten
  #10 (permalink)  
Alt 29-10-2008, 01:34
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von h3ll
Es wird hier nichts konvertiert. Es werden Strings mit Strings verglichen.
Naja, ich frage mich, wie ein String gegenüber einem anderen (bei gleicher länge) "größer" oder "kleiner" sein kann, als ein anderer ...
Mit Zitat antworten
  #11 (permalink)  
Alt 29-10-2008, 01:34
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Unveränderliche Feiertage kann man hart kodieren, z.B. ist Neujahr immer am 1.1.
An Ostern ausgerichtete Feiertage kann man mit easter_date() berechnen.
Die beweglichen Feiertage muß man sich irgendwoher besorgen oder selbst eingeben. Ich habe auf die Schnelle keinen Webservice gefunden, aber hier könnte man es mit ein wenig PHP im iCal-Format abgreifen.
Mit Zitat antworten
  #12 (permalink)  
Alt 29-10-2008, 01:35
dirrtyfriday
 Newbie
Links : Onlinestatus : dirrtyfriday ist offline
Registriert seit: Oct 2008
Ort: München
Beiträge: 9
dirrtyfriday ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Oh Gott... mit Timestamps habe ich nun gar keine Erfahrungen...
Ich mache das für einen Freund um ihn einen Gefallen zu tun.

Mit dem Rest wie Abfrage und Ausgabe von MySQL komm ich eigentlich ganz gut klar. Sogar mit dem "Warenkorb".

Aber bei dem Bestellvorgang häng ich an dieser Stelle weil ich sowas bisher noch nicht gemacht habe!

Also hier mal die ganz blöde Frage:
Wie gehe ich mit timestamps um?

Ich hab schon bei php.net mal alles durch gelesen, komm aber mit den ganzen Ausdrücken garnicht klar

Somit gebe ich Dir das ich da durcheinander kommt (als Anfänger).


Würd mich freuen wenn mir das hier einer in Normalosprache erklären könnte

Danke für Eure Hilfe...
__________________
Leben und leben lassen
Mit Zitat antworten
  #13 (permalink)  
Alt 29-10-2008, 01:41
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.608
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von unset
Naja, ich frage mich, wie ein String gegenüber einem anderen (bei gleicher länge) "größer" oder "kleiner" sein kann, als ein anderer ...
'AAA' == 'AAA'
'ABC' > 'AAA'
'ABC' < 'CBA'

Jetzt verständlich?
Mit Zitat antworten
  #14 (permalink)  
Alt 29-10-2008, 01:43
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von h3ll
'AAA' == 'AAA'
'ABC' > 'AAA'
'ABC' < 'CBA'

Jetzt verständlich?
Schon, weiß nur nicht, was ich davon halten soll ...
Mit Zitat antworten
  #15 (permalink)  
Alt 29-10-2008, 01:45
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Laut Tabelle "Comparison with Various Types" auf http://www.php.net/manual/en/languag...comparison.php werden Strings bei Vergleichen mit <, <=, ==, >=, > zunächst mal ins Numerische umgewandelt und dann als Zahlen verglichen. Die Umwandlung wird auf
http://www.php.net/manual/en/languag...ing.conversion beschrieben.

Für sowas sollte man besser strcmp() und Konsorten benutzen. Die arbeiten zwar anders (Abstand zu 'A'), aber das deckt sich eher mit meinem Bauchgefühl und birgt weniger Stolperfallen (Strings die mit einer Zahl oder +/- beginnen).
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

ModuleStudio ansehen ModuleStudio

Modellgetriebene Entwicklung von Erweiterungen für das Open Source Framework Zikula.

15.01.2019 Guite | Kategorie: PHP ENTWICKLUNGSUMGEBUNG
FAQ Script PHP ansehen FAQ Script PHP

FAQ Script PHP is a simple knowledgebase script and you could use it as a Frequently Asked Question section on your website. It is written in PHP and MySQL.

14.01.2019 nevenov | Kategorie: PHP/ FAQ
Admidio Mitgliederverwaltung

Admidio ist eine kostenlose Online-Mitgliederverwaltung, die für Vereine, Gruppen und Organisationen optimiert ist. Sie besteht neben der Mitgliederverwaltung aus einer Vielzahl an Modulen (Foto-, Download-, Terminverwaltung), die in eine neue oder besteh

08.01.2019 webmaster52@ | Kategorie: PHP/ Groupware
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:13 Uhr.