PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Thema von einer bestimmen Zeitspanne open / closed


jkp
21.09.2002, 23:31
Wie kann ich es realisieren, das z. B. ein Thema von 12.00 Uhr Mittags bis 18.00 Uhr Abends offen ist, dann aber geschlossen ist und am nächsten Tag wieder um 12.00h Uhr geöffnet und so weiter...

Mit welcher Query ich das Thema auf und zu kriege weiß ich schon, nur habe ich keinen Plan wie ich es mit der Zeit hinkriege ! :D

Mystics
22.09.2002, 01:39
Du könntest dafür z.B. das Code-Stück verwenden, dass ich hier gepostet habe:
http://www.vbulletin-germany.com/forum/showthread.php?s=&threadid=3230

Das solltest du dann in eine PHP-Datei packen, die öfters aufgerufen wird...oder gleich in die global.php.
Bzw. meintewegen auch wie dort in das phpinclude Template ;)

Mystics

Harley
22.09.2002, 01:39
Wenn du einen eigenen server hast, kannste das mit einem cronjob erledigen.

EDIT: oder wie es Mystics gepostet hat:D

Mystics: 01:39
Ich: 01:39
*lol*

Mystics
22.09.2002, 01:43
Wenn ich es nochmal überdenke, wäre die Möglichkeit von Harley die bessere....denn bei meiner Variante würde er ja ständig das Query zum Öffnen/Schließen machen.....d.h. via Cron Job wäre es die einzige Lösung.

Znaper
22.09.2002, 08:50
Und hier das passende Shell Skript dazu! ;)

#!/bin/bash

# Pfad zu MySQL
MYSQL=/usr/bin/mysql

# Name der Datenbank
DBNAME=vbulletin

# Name des Datenbankbenutzers
DBUSER=

# Passwort für die Datenbank
DBPASS=

$MYSQL --user=$DBUSER --password=$DBPASS $DBNAME <<EOF
Hier deine SQL Anweisung, bitte mit einem ; abschliesen
EOF

Speichere das ganze irgendwo z.B. als sql.sh und lasse dieses per Cronjob ausführen.
Natürlich mußt Du in das Skript noch die SQL Anweisung einführen.
Wichtig ist das ; nach der SQL Anweisung und das EOF am Ende muß auch stehen bleiben!
Viel Spaß damit.


mfg Znaper

jkp
22.09.2002, 09:29
Original geschrieben von Mystics
Du könntest dafür z.B. das Code-Stück verwenden, dass ich hier gepostet habe:
http://www.vbulletin-germany.com/forum/showthread.php?s=&threadid=3230

Das solltest du dann in eine PHP-Datei packen, die öfters aufgerufen wird...oder gleich in die global.php.
Bzw. meintewegen auch wie dort in das phpinclude Template ;)

Mystics

Also die Möglichkeit von Mystics ist die einzige, die mir übrig bleibt, weil unser Hoster is zwar teuer hat aber kein SSH / CronJobs :mad: :D

Ich werde mal dein Möglichkeit probieren, trotzdem danke an die anderen ;)

jkp
22.09.2002, 10:21
Ich hab folgenden Code in die global.php eingefügt:

if(vbdate($timeformat,time())>"00:00" && vbdate($timeformat,time())<"06:00")
{
$DB_site->query("UPDATE thread SET open="1" WHERE threadid="3402"");
}
else
{
$DB_site->query("UPDATE thread SET open="0" WHERE threadid="3402"");
}
}

Trotzdem kommt dort ein Error, was ist an dem Code nicht korrekt ?

Znaper
22.09.2002, 10:29
Wo hast Du in genau in die global.php eingefügt?


mfg Znaper

jkp
22.09.2002, 11:04
ganz unten, also unter $logincode=makelogincode();

Znaper
22.09.2002, 11:09
Und welche Fehlermeldung kommt dann genau?


mfg Znaper

jkp
22.09.2002, 11:19
Parse error: parse error, unexpected T_LNUMBER in /data/web/web44/htdocs/vbulletin/global.php on line 766

Fatal error: Call to undefined function: getpermissions() in /data/web/web44/htdocs/vbulletin/index.php on line 64

Mystics
22.09.2002, 14:47
Beispiel:
$DB_site->query("UPDATE thread SET open="0" WHERE threadid="3402"");

Du darfst innerhalb des Querys nicht mit Anführungszeichen arbeiten ;)

Arbeite mit Hochkommas!
$DB_site->query("UPDATE thread SET open='0' WHERE threadid='3402'");

Aber wie schon gesagt, jeder Benutzer führt bei jeder Aktion dieses Query aus!

Mystics

jkp
22.09.2002, 15:46
Das war die Lösung ! Danke !

Es ist ja letztendlich ein Geschwindigkeits Problem wegen der Query, wenn sie 100 mal hintereinander ausgeführt wird passiert auch nix :D

jkp
23.09.2002, 15:13
Mist ! Immer noch Probleme... das Thema geht geht nie auf die Zeit auf oder zu.

Wo kann denn dort der Fehler sein, wenn ich das Thema von 15.00 Uhr bis 15.10 Uhr offen lassen möchte. (es kommt kein Error !!)


if(vbdate($timeformat,time())>"15.00" && vbdate($timeformat,time())<"15.10")
{
$DB_site->query("UPDATE thread SET open='1' WHERE threadid='3402'");
}
else
{
$DB_site->query("UPDATE thread SET open='0' WHERE threadid='3402'");
}

Mystics
23.09.2002, 15:51
Du solltest nicht 15.00, sondern 15:00 schreiben.

Und du musst bei dieser Methode sicherstellen, dass du das Zeitformat richtig eingestellt hast. Wenn du mit dem engl. Zeitformat arbeitest wäre es 03:00.

Mystics

jkp
23.09.2002, 16:29
Deswegen ging es manchmal und manchmal nicht ! danke ! so nun werdet ihr nicht weiter genervt :D