Zeit aufrunden?

Hallo liebe Forummitglieder,

könnt ihr mir veraten oder weiterhelfen?
Ich bin gerade dabei einen Sendeplan für ein Webradioprojekt
zu schreiben. Alle Sendungen sind untereinander der Reihenfolge nach
aufglistet und ich möchte nun die aktuell laufende Sendung farblich hervorheben in der
Tabelle, was ja ansich kein Problem sein sollte (das farbliche vorheben).
Aber wie bekomme ich raus ob die Sendung gerade OnAir ist?
Sprich wie bekomme ich es hin die Sendung bis zur letzten Minute so lange fabrlich hervorgehoben?

Zur verfügung stehen die Variabeln:
$start_zeit
$end_zeit

Und in welchem Format liegen die Zeiten vor?

Ich kann die den ganz normalen Timestamp anbieten oder im normalen format: (zbs. 15:00)

Wenn Du einen Timestamp hast, dann genügt doch ein simpler Zahlenvergleich:

if( $timestamp_jetzt >= $timestamp_start && $timestamp_jetzt <= $timestamp_ende ){ echo "läuft";}else{echo "läuft nicht;}

Alles klar? :wink:

Danke :smiley: ! Es hilft, muss mich wohl noch ein wenig mehr in die Vergleichlichen Operatoren Einarbeiten :smiley:
Kannst du mir vllt auch bei meinem 2. Problem helfen?
& Zwar habe ich ein Informationspanel auf der Seite wo draufsteht welche die Nächste Sendung ist, wie bekomm ich das ausgegeben?
Wollte es eig noch oben dazu schreiben hab wohl verpennt :confused:

Die nächste Sendung zu ermitteln wäre vermutlich einfacher, wenn Du die Sendezeiten in MySQL erfasst. Dort könnte man einfach mit einem Statement das nächstliegende Datum ermitteln. Wenn Du nur PHP nutzt wird es etwas schwieriger. Du müsstest durch die Datensätze gehen (vermutlich ein Array) und den Zeitpunkt suchen der dem jetzigen Zeitpunkt am nächsten kommt. Auch dabei helfen Vergleichsoperatoren :wink:

hmm Ich komm auf keine Lösung die Sendedaten werden ja in Form von Timepstamps in der DB gesaved aber irgendwie komm ich auf keinen Lösungsweg.

Ah, also eine DB. Gut, dass Du das jetzt schon sagst denn alle deine Fragen lassen sich auch in MySQL direkt lösen. Und deine letzte in etwa so:

SELECT feld FROM tabelle WHERE UNIX_TIMESTAMP(tabelle.startezeit) > UNIX_TIMESTAMP() ORDER BY tabelle.startezeit ASC LIMIT 1

Danke das bring mich im Prinzip schon weiter, aber ich möchte ja nur eine Sendung ausgeben als Vorschau. Hmm ich will dich auch nciht rumscheuchen finde es echt cool das du mir weiterhilfst.

In dem Statement steht hinten „LIMIT 1“. Dadurch wird die Ergebnismenge auf genau eine Sendung beschränkt.

OMG Hab nur das ORDER BY mitgelesen -.- Shit das blamiert mich total :smiley:

Hmm Leider passiert nichts, habs mal so stehen:

$q = „SELECT * FROM sendeplan WHERE UNIX_TIMESTAMP(sendeplan.sende_start_time) > UNIX_TIMESTAMP() ORDER BY sendeplan.sende_end_time ASC LIMIT 1“;
$go = mysql_query($q) or die(mysql_error());
$row = mysql_fetch_object($go);
$djname = $row->djname;
$djid = $row->djid;
$s_stunde = $row->start_zeit_stunde;
$e_stunde = $row->end_zeit_stunde;
echo "

$s_stunde.00 - $e_stunde.00 UHR   |   $djname
";

„passiert nichts“ heißt?

Die Seite bleibt komplett Weis - keie Reaktion (MySQL error ausgabe tc.)

Dann gibt es vermutlich (!) einen PHP-Fehler und du hast vermutlich (!) die Fehlerausgabe von PHP unterdrückt …

Unmöglich, da ich error response auf E All hab & Alle anderen Scripte mir bei derren Entwicklung auch ihre Fehler genannt haben.

Dann liegt es vermutlich (!) an irgendetwas anderem, was ich aber ohne den gesamten (!) Quellcode nicht beurteilen kann.

Ist CMS Artig aufgebaut. Die Seiten werden in dem Ordner ‚pages‘ als PHP Datein abgespeichert und via GET Mehtode in den Content dann.

Hier hab ich dir mal ne RAR Datei zusammengestellt, in der die core.php
index.php cofing.php und die next.php (Fehlerhafte Datei) vorhanden sind.

Zippyshare.com - quell.rar

& Hier nochmal die DB :wink:

[PHP]CREATE TABLE IF NOT EXISTS active_guests (
ip varchar(15) NOT NULL,
timestamp int(11) unsigned NOT NULL,
PRIMARY KEY (ip)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS active_users (
username varchar(30) NOT NULL,
timestamp int(11) unsigned NOT NULL,
PRIMARY KEY (username)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS banned_users (
username varchar(30) NOT NULL,
timestamp int(11) unsigned NOT NULL,
PRIMARY KEY (username)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS kick_log (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(256) NOT NULL,
zeit varchar(128) NOT NULL,
ip varchar(100) NOT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=46 ;

CREATE TABLE IF NOT EXISTS pn (
id int(11) unsigned NOT NULL AUTO_INCREMENT,
to varchar(40) COLLATE latin1_general_ci NOT NULL,
from varchar(40) COLLATE latin1_general_ci NOT NULL,
titel varchar(80) COLLATE latin1_general_ci NOT NULL,
text text COLLATE latin1_general_ci NOT NULL,
read int(1) NOT NULL,
news int(1) NOT NULL,
datum varchar(25) COLLATE latin1_general_ci NOT NULL,
zeit varchar(25) COLLATE latin1_general_ci NOT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=18 ;

CREATE TABLE IF NOT EXISTS sendeplan (
sende_id int(11) NOT NULL AUTO_INCREMENT,
djname text,
djid text,
djbild text,
start_zeit_stunde text,
start_zeit_minute text,
start_zeit_tag text,
start_zeit_monat text,
start_zeit_jahr text,
end_zeit_stunde text,
end_zeit_minute text,
end_zeit_monat text,
end_zeit_tag text,
end_zeit_jahr text,
sendungsname text,
musikrichtung text,
sendebild text,
sendeinfo text,
sende_start_time int(11) NOT NULL,
sende_end_time int(11) NOT NULL,
PRIMARY KEY (sende_id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=21 ;

CREATE TABLE IF NOT EXISTS site_settings (
sitename varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL DEFAULT ‚‘,
sitetitle varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
siteurl varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
serial varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
sitemail varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
starttext text CHARACTER SET latin1 COLLATE latin1_general_ci,
welcomemail text CHARACTER SET latin1 COLLATE latin1_general_ci,
newpassmail text CHARACTER SET latin1 COLLATE latin1_general_ci,
welcomesubject varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
newpasssubject varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
PRIMARY KEY (sitename)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS stream_settings (
streamname varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL DEFAULT ‚‘,
host varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
port varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
pass varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
apass varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
mediaplayer varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
realplayer varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
PRIMARY KEY (streamname)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS teamspeak_settings (
enable varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL DEFAULT ‚‘,
ip varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
port varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
admin varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
version varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
adminpw varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
PRIMARY KEY (enable)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS users (
id int(11) NOT NULL AUTO_INCREMENT,
username varchar(30) NOT NULL,
name varchar(30) NOT NULL,
ort varchar(30) NOT NULL,
geburtstag varchar(30) NOT NULL,
geschlecht varchar(30) NOT NULL,
beziehung varchar(30) NOT NULL,
land varchar(30) NOT NULL,
hobbys varchar(30) NOT NULL,
aim varchar(30) NOT NULL,
icq varchar(30) NOT NULL,
msn varchar(30) NOT NULL,
skype varchar(30) NOT NULL,
knuddels varchar(30) NOT NULL,
yahoo varchar(30) NOT NULL,
website varchar(30) NOT NULL,
avatar varchar(30) NOT NULL,
musik varchar(30) NOT NULL,
idole varchar(30) NOT NULL,
password varchar(32) DEFAULT NULL,
userid varchar(32) DEFAULT NULL,
userlevel tinyint(1) unsigned NOT NULL,
email varchar(50) DEFAULT NULL,
userip varchar(50) DEFAULT NULL,
timestamp int(11) unsigned NOT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

CREATE TABLE IF NOT EXISTS webkicks_settings (
enable varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL DEFAULT ‚‘,
chatname varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
server varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
adminpw varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
sid varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
admin varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
PRIMARY KEY (enable)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;[/PHP]

Kommt jdm damit klar?

MySQL Fehler ausgeben…

$sql = „INSERblablabla BEfehl halt“;
mysql_query($sql) OR die(mysql_error());