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
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
24.04.2012, 14:16:22
|
|
Senior Member
|
|
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
|
|
letzter Eintrag zu 4 verschiedenen Werten
Wir haben zur Zeit 4 Brandmeldeanlagen. Wird in den Räumen gearbeitet müssen diese vorübergehend ausgeschaltet werden um einen Fehlalarm zu vermeiden.
Da wir im Schichtdienst arbeiten, kann es sein, dass eine Anlage ausgeschatet ist und diese später von jemand Anderem wieder eingeschaltet werden muss. Damit jeder schnell den Zustand der einzelnen Anlagen erkennen kann, habe ich ein kleines Tool in unsere interne Seite eigearbeitet. Dies zeigt lediglich grafisch den Zustand on(grüner Haken) oder off(rotes X) an.
Zur Zeit frage ich zu jeder Brandmeldeanlage(rz) den letzten Eintrag ab und setze entsprechend die Grafiken.
Ich würde gern die 4 Selects gegen einen austauschen. Allerdings hab ich bislang noch keine Lösung gefunden. Entweder gibt es sie so nicht oder ich komm einfach nicht drauf.
gewünschtes Ergebnis
rz|zustand
1 |on
2 |on
3 |off
4 |on
Hat da jemand für mich den entscheidenen Hinweis zur richtigen Lösung?
Tabelle
PHP-Code:
-- phpMyAdmin SQL Dump
-- version 3.2.4
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 24. April 2012 um 14:03
-- Server Version: 5.1.41
-- PHP-Version: 5.3.1
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Datenbank: `1stweb`
--
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `brandmeldeanlage`
--
CREATE TABLE IF NOT EXISTS `brandmeldeanlage` (
`id` int(15) NOT NULL AUTO_INCREMENT,
`u_id` int(6) NOT NULL,
`datum` datetime NOT NULL,
`angeordnet` varchar(30) CHARACTER SET latin1 COLLATE latin1_german1_ci NOT NULL,
`ausgefuehrt` varchar(30) CHARACTER SET latin1 COLLATE latin1_german1_ci NOT NULL,
`rz` set('1','2','3','4') CHARACTER SET latin1 COLLATE latin1_german1_ci NOT NULL,
`zustand` enum('on','off') CHARACTER SET latin1 COLLATE latin1_german1_ci NOT NULL,
`bemerkung` text CHARACTER SET latin1 COLLATE latin1_german1_ci,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=118 ;
--
-- Daten für Tabelle `brandmeldeanlage`
--
INSERT INTO `brandmeldeanlage` (`id`, `u_id`, `datum`, `angeordnet`, `ausgefuehrt`, `rz`, `zustand`, `bemerkung`) VALUES
(1, 41, '2011-04-08 09:20:12', 'Herrn L', 'B, I.', '1', 'off', ''),
(2, 41, '2011-04-08 09:41:48', 'L', 'M U', '1', 'on', ''),
(3, 50, '2011-04-11 09:43:30', 'M', 'M , U', '2', 'off', ''),
(4, 47, '2011-04-11 15:26:46', 'Hern M', 'F E', '2', 'on', '15:15 Uhr'),
(5, 44, '2011-04-13 09:13:49', 'H.G', 'A G', '2', 'off', ''),
(6, 15, '2011-04-13 14:23:21', 'H.G', 'C. B', '2', 'on', ''),
(7, 15, '2011-04-21 09:44:04', 'V L', 'C B', '1', 'off', ''),
(8, 15, '2011-04-21 10:55:52', 'V L', 'U M', '1', 'on', ''),
(9, 50, '2011-04-27 08:57:20', 'Herr G', 'U. M', '2', 'off', ''),
(10, 50, '2011-04-27 11:28:13', 'Herr G', 'U. M', '2', 'on', ''),
(11, 38, '2011-05-05 09:08:53', 'G', 'K', '2', 'off', ''),
(12, 38, '2011-05-05 09:56:15', 'G', 'K', '2', 'on', ''),
(13, 50, '2011-05-11 09:21:16', 'G', 'M', '2', 'off', '9:15 Uhr'),
(14, 50, '2011-05-11 13:38:26', 'Herr G', 'M', '2', 'on', '13:35 '),
(15, 50, '2011-05-16 13:45:42', 'Herr G', 'M', '1', 'off', 'abgeschaltet 13:30'),
(16, 44, '2011-05-16 15:46:13', 'G', 'G', '1', 'on', ''),
(17, 45, '2011-05-17 09:26:26', 'Herr G', 'Herr A', '1', 'off', 'Abgeschaltet um 09:15Uhr'),
(18, 45, '2011-05-17 09:26:26', 'Herr G', 'Herr A', '2', 'off', 'Abgeschaltet um 09:15Uhr'),
(19, 37, '2011-05-17 14:09:41', 'Hr. G', 'Hr. G', '1', 'on', ''),
(20, 37, '2011-05-17 14:09:41', 'Hr. G', 'Hr. G', '2', 'on', ''),
(21, 37, '2011-05-17 14:14:02', 'Hr. G', 'Hr. W', '1', 'on', 'um 14:00 Uhr'),
(22, 37, '2011-05-17 14:14:02', 'Hr. G', 'Hr. W', '2', 'on', 'um 14:00 Uhr'),
(23, 54, '2011-05-23 09:35:28', 'M', 'K', '2', 'off', 'RZ 2 Ausgeschaltet um 9:25'),
(24, 38, '2011-05-23 10:53:05', 'M', 'K', '2', 'on', ''),
(25, 15, '2011-06-01 08:54:47', 'H', 'B', '2', 'off', ''),
(26, 45, '2011-06-01 17:38:15', 'Herrn G', 'Herrn A', '2', 'on', ''),
(27, 47, '2011-06-03 12:53:29', 'Herrn H', 'Frank E', '2', 'off', 'Ausgeschaltet um 12:50 Uhr'),
(28, 41, '2011-06-03 14:18:17', 'Hrn. H', 'I. B', '2', 'on', 'Schleife 2 wieder eingeschaltet'),
(29, 24, '2011-06-08 14:47:11', 'Herr P', 'Herr W', '1', 'off', ''),
(30, 39, '2011-06-08 15:41:29', 'P', 'W', '1', 'on', '');
Ich hab einmal die ersten 30 Einträge mitgenommen. Leider fehlen hierbei Einträge zu rz3 und rz4. Namen wurden auf Buchstaben reduziert. Die Einträge zu den einzelnen Anlagen gehören selten zusammen, da innerhalb der Räume selten gleichzeitig gearbeitet wird. Es können Tage, Wochen oder auch Monate keine Einträge zu einer Anlage gemacht werden.
|
24.04.2012, 16:36:33
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: letzter Eintrag zu 4 verschiedenen Werten
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
24.04.2012, 17:44:03
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: letzter Eintrag zu 4 verschiedenen Werten
Zitat:
Zitat von urvater
Hat da jemand für mich den entscheidenen Hinweis zur richtigen Lösung?
|
Deine Tabelle ist ein Tagebuch, Du suchst aber die aktuelle Stellung von vier Schaltern. Natürlich kannste mit einigen Klimmzügen (4* SELECT oder ein SELECT mit subselects) aus dem Tagebuch die jünsten Schalterstellungen rausfischen - ich vertrete allerdings die Auffassung, daß Daten, die häufig nur gelesen werden, schnell verfügbar sein sollten/könnten.
Ansatzpunk ist das Script, welches das "Schalter an/aus" Formular auswertet. Dieses Script könnte die sich daraus ergebende aktuelle Lage separat speichern. Geeignete Kandidaten wären:
http://www.php.net/var_export
PHP-Code:
<?php # Auswertung des Formulars und schreiben des Tagebuchs
include 'schalter.php'; for ($nummer = 1; $nummer <= 4; $nummer++) $schalter[$nummer] = empty($_POST['schalter_' . $nummer]) ? false : true;
file_put_contents('schalter.php', '<?php' . "\n" . '$schalter = ' . var_export($schalter) . ";\n" . '?>');
echo fettich; ?>
Einfacher wäre
http://www.php.net/serialize
http://www.php.net/unserialize
PHP-Code:
<?php #lesen: $schalter = unserialize(file_get_contents('schalter.dat')); # bearbeiten
# schreiben file_put_contents(serialize($schalter)); ?>
|
24.04.2012, 19:27:52
|
|
Senior Member
|
|
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
|
|
AW: letzter Eintrag zu 4 verschiedenen Werten
@vt1816 Muß ich mal schauen ob ich damit mein gewünschtes Ergebnis bekomme.
@meikel
Wenn ich dich richtig verstanden habe, würdest du die Nutzung einer einfachen Datei vorziehen, in der lediglich die einzelnen RZ mit dem aktuellen Zustand hinterlegt sind.
Sprich ich hätte eine einfache und schnelle Ausgabe bei der permanent, vorhandenen Übersicht über die Anlagen ohne eine DB Verbindung mit dem/den entsprechenden Select/s nutzen zu müssen.
Müsste dafür aber nach einem Eintrag in die DB dies auch in die Datei schreiben.
Da innerhalb von ca. einem Jahr gerade einmal 111 Einträge gemacht wurden und die Seite selbst pro Tag mehrmals von unterschiedlichen Personen aufgerufen wird, scheint dies dann wohl doch der leichtere Weg zu sein.
Ich danke euch beiden.
|
25.04.2012, 02:56:11
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: letzter Eintrag zu 4 verschiedenen Werten
Zitat:
Zitat von urvater
Wenn ich dich richtig verstanden habe, würdest du die Nutzung einer einfachen Datei vorziehen, in der lediglich die einzelnen RZ mit dem aktuellen Zustand hinterlegt sind.
|
Ja. Noch schneller wären nur noch semphor files:
on -> file erzeugen
off -> file löschen
Zitat:
Müsste dafür aber nach einem Eintrag in die DB dies auch in die Datei schreiben.
|
Korrekt. Ein
PHP-Code:
ignore_user_abort(true);
verhindert den vorzeitigen Scripttod bevor das file komplettiert wurde.
|
25.04.2012, 14:07:53
|
|
Senior Member
|
|
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
|
|
AW: letzter Eintrag zu 4 verschiedenen Werten
Zitat:
Zitat von meikel
Ein
PHP-Code:
ignore_user_abort(true);
verhindert den vorzeitigen Scripttod bevor das file komplettiert wurde.
|
Guter Hinweis. Das Risiko ist zwar in meinem Fall recht gering, dass so etwas vorkommt aber es existiert.
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:33:42 Uhr.
|