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

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung 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
Hilfe Community Kalender Heutige Beiträge Suchen

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

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 17.03.2003, 08:58:52
wongfeihung23 wongfeihung23 ist offline
Anfänger
 
Registriert seit: Mar 2003
Beiträge: 24
uhrzeit aus der datenbank mit der aktuellen zeit vergleichen

hallo

ich habe da ein problem..

wie kann ich das datum, die ich aus der mysql datenbank(datetime) lese mit der aktuellen zeit vergleichen..

ich habe schon 6 stunden gesucht und nichts darüber gefunden..

danke im voraus,,

mein code:

include("login/serverlogin.php");
include("login/datenbanklogin.php");
$sortmethode = 'SELECT * FROM Bauauftragsdaten';
$bauauftragsdaten = $sortmethode;
$datensatzverschicken = mysql_query($bauauftragsdaten) OR die("Fehler:".mysql_error());

$status = $myrow[25];

if ($status == "abgeschlossen")
{
echo "<td bgcolor=green><font color=white>$status</font>" ;
$daten = $myrow[8]; // hier ist die uhrzeit als datetime abgespeichert
und jetzt soll hier abgefragt werden, ob die uhrzeit(, die aus der datenbank gelesen wird, über 24 stunden und zwischen 48 stunden und über 48 stunden liegt. die wochentage samstag und sonntag sollen nicht gezählt werden. und freitags ab 16:00 uhr wird auch nicht mehr gezählt.
echo "</td>";
}
elseif ($status == "bearbeitet")
{
echo "<td bgcolor=red><font color=white>$status</font></td>" ;
}
elseif ($status == "in Bearbeitung")
{
echo "<td bgcolor=pink>$status</td>" ;
}
else
{
echo "<td bgcolor=yellow>$status</td>" ;
}


danke im voraus für die hilfe

wongfeihung
Mit Zitat antworten
  #2  
Alt 17.03.2003, 11:05:41
MiH MiH ist offline
Member
 
Registriert seit: Aug 2002
Beiträge: 775
m<sql_fetch_row() ist zwar ganz gut, was passsiert aber mit deinem scripten wenn du mal eine neue spalte dazwischen brauchst? da verschieben sich die spalten und du darfst alles ändern.

besser ist fetch_array() da sprichst du die spalten über den namen und und das erleichert auch das lesen der scripte.
Code:
select case 1 when (to_days(now())-to_days(date_col)<=1) then "24" else "alt" end prefix from table
als prefix erhälst du nun 24 oder alt du könntest auch die farbe für die tabellen zeile dort hinterlegen

http://www.mysql.com/doc/en/Date_and...functions.html

Geändert von MiH (17.03.2003 um 11:09:26 Uhr)
Mit Zitat antworten
  #3  
Alt 17.03.2003, 11:46:04
wongfeihung23 wongfeihung23 ist offline
Anfänger
 
Registriert seit: Mar 2003
Beiträge: 24
und nochmals zur klarstellung:

es geht hierbei um bauaufträge.

auftragsliste wird erstellt.
in dieser liste soll man die daten sehen können, die unter 24 stunden liegen. wie gesagt stunden und natürlich soll der code in php erfolgen und nicht als sql abfrage..

das bedeutet ..

auftrag am freitag 15:30 eingestellt, soll montag noch unter 24 stunden liegen, da ja freitags ab 16:00 und das wochenende nicht gearbeitet wird..

bitte um hilfe
Mit Zitat antworten
  #4  
Alt 17.03.2003, 13:28:50
MiH MiH ist offline
Member
 
Registriert seit: Aug 2002
Beiträge: 775
1.)
es ist doch besser wenn man es mit einem query erschlagen kann als in 10 zeilen php code zu machen

2.)
solltest du dir dann die date() + time() functionen von mysql mal anschauen.

3.)
nicht date - time nutzen sondern einen timestamp

4.)
dann klappts auch.
einen kompletten source kann ich nciht liefern, da es BAUaufträge geht.

mir ist es ehrlich gesagt scheiss egal um was es geht - ich wollte helfen :)
Mit Zitat antworten
  #5  
Alt 17.03.2003, 13:49:42
wongfeihung23 wongfeihung23 ist offline
Anfänger
 
Registriert seit: Mar 2003
Beiträge: 24
danke dir..

aber sei mir bitte nicht sauer, wenn ich so reagiere...

hab die schnauze richtig voll, weil es nicht klappt..

versuche alllesmögliche.. und kommt nichts bei raus.


kannst du mir trotzdem mal sagen, wie ich zwei variablen voneinander abziehen kann in php
Code:
$var1= "10-12-2003 10:15";
$var2= "09-12-2003 10:30";
die ausgabe sollte in stunden angegeben werden.

wongfeihung
Mit Zitat antworten
  #6  
Alt 17.03.2003, 14:00:07
Dago Dago ist offline
Member
 
Registriert seit: Mar 2002
Beiträge: 548
Mal ein Tipp von Dago:

Übersetze die MySQL-Timestamps also "10-12-2003 10:15" mit strtotime() in einen Unix-Timestamp. Unix-Timestamps zählen allen Sekunden seit dem 01.01.70 00:00 hoch. Somit kannst du sie prima voneinander subtrahieren und bekommst als Ergebnis die Differenz in Sekunden.

Beispiel:
PHP-Code:
<?php

$var1
'10-12-2003 10:15';
$var2'09-12-2003 10:30';

$differenz = (strtotime($var1) - strtotime($var2)) / 3600;

echo 
'Die Differenz beträgt '.round($differenz).' Stunden.';

?>
Mit Zitat antworten
  #7  
Alt 17.03.2003, 14:03:53
wongfeihung23 wongfeihung23 ist offline
Anfänger
 
Registriert seit: Mar 2003
Beiträge: 24
hi dago..

aber das ist doch kein timestamp sondern datetime..

wenn es da keine ansätze gibt muss ich ja die datesätze alle faken..

bitte um hilfe
Mit Zitat antworten
  #8  
Alt 17.03.2003, 14:05:53
Dago Dago ist offline
Member
 
Registriert seit: Mar 2002
Beiträge: 548
Es funktioniert trotzdem... ;)
Mit Zitat antworten
  #9  
Alt 17.03.2003, 14:11:28
wongfeihung23 wongfeihung23 ist offline
Anfänger
 
Registriert seit: Mar 2003
Beiträge: 24
YIIIIIIIIIIIIIIIIIIIIIIIIIIIPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPPPPPPPPIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIEEEEEEEEEEEEEEEEEEEEEEEEEE

es funzt...

ich danke euch allen..

besonders dago und mih..

ihr seid die besten..

wongfeihung
Mit Zitat antworten
  #10  
Alt 17.03.2003, 14:34:02
wongfeihung23 wongfeihung23 ist offline
Anfänger
 
Registriert seit: Mar 2003
Beiträge: 24
hmm.. doch zu früh gefreut..

wie kann ich denn jetzt das aktuelle datum statt $var2 einsetzen??


Code:
$daten = $myrow[8];
$var2= date();
  
  $differenz = (strtotime($var2) - strtotime($daten)) / 3600;

  echo 'Die Differenz beträgt '.round($differenz).' Stunden.';
hierbei kriege ich nur warnungen!!!
Mit Zitat antworten
Antwort


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

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 15:14:47 Uhr.


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


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