Zurück   klamm-Forum > klamm-Lose > Lose4Scripts

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11.02.2008, 18:14:51   #1 (permalink)
Erfahrener Benutzer

ID: 102024
Lose-Remote

Reg: 29.04.2006
Beiträge: 377
Standard [Javascript/Ajax] Seitenreload *Erledigt*

Ich habe eine PHP-Seite erstellt und suche so etwas (soll in die Seite "bla.php" integriert werden):

Lese $Y aus der MySQL-Datenbank;
if ($Y==0) tue nichts;
if ($Y!=0) Lade "bla.php" neu;

Javascript/Ajax lerne ich aber gerade erst & suche jemanden, der obiges (bitte ausführlich kommentiert) umsetzen könnte. Ich möchte also, dass meine Seite "bla.php" komplett neu geladen wird, wenn der Wert $Y in der DB geändert wurde/nicht mehr 0 ist (das kann z.B. nach 10 oder auch 100 Sekunden passieren).

Ich weiss nicht wie aufwendig das ist; nennt mir einfach, was ihr preislich haben wollt.
 

Geändert von Retep (03.04.2008 um 18:02:14 Uhr)
Retep ist offline   Mit Zitat antworten
Alt 11.02.2008, 19:26:56   #2 (permalink)
Programmierer

ID: 292282
Lose-Remote

coaching eine Nachricht über ICQ schicken
Reg: 29.08.2006
Beiträge: 56
Standard

Versuch es doch mal mit dem ProtoType-Framework.
Damit sind AJAX-Anwendungen ohne große Kenntnisse in Null Komma Nix umgesetzt :-)
Dein eigenes PaidMail Script, Web-Design oder individuelle Programmierung gefällig?
Schau mal in der Webmaster Community vorbei.
Sammelst du eigentlich etwas? Das social network rund ums Sammeln erwartet dich
coaching ist offline   Mit Zitat antworten
Alt 03.03.2008, 22:12:13   #3 (permalink)
Bastler

Reg: 02.02.2008
Beiträge: 10
Standard

HTML-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
<html> <head> <?php if ($y!=0) echo "<meta http-equiv=\"refresh\" content=\"10; URL=www.deine-seite.de/dein-pfad/blah.php\">"; ?> </head> <body> <!-- Inhalt --> </body> </html>
müsste so gehen (gegebenenfalls die 10 durch eine 100 ersetzen, da das die Sekunden bis zum reload sind)

http://de.selfhtml.org

wenn du mir was dafür geben willst, dann an 149929

MfG
 

Geändert von er_sechzig (03.03.2008 um 22:14:27 Uhr)
er_sechzig ist offline   Mit Zitat antworten
Alt 04.03.2008, 09:55:05   #4 (permalink)
Erfahrener Benutzer

ID: 102024
Lose-Remote

Reg: 29.04.2006
Beiträge: 377
Standard .

Zitat:
Zitat von er_sechzig Beitrag anzeigen
HTML-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
<html> <head> <?php if ($y!=0) echo "<meta http-equiv=\"refresh\" content=\"10; URL=www.deine-seite.de/dein-pfad/blah.php\">"; ?> </head> <body> <!-- Inhalt --> </body> </html>
müsste so gehen (gegebenenfalls die 10 durch eine 100 ersetzen, da das die Sekunden bis zum reload sind)

http://de.selfhtml.org

wenn du mir was dafür geben willst, dann an 149929

MfG
So eine Html-Weiterleitung ist nicht besser als der periodische Auto-Reload per *PHP-Header*, den ich vorher schon hatte. Eigentlich ist es genau das gleiche, aber trotzdem danke
 
Retep ist offline Threadstarter   Mit Zitat antworten
Alt 04.03.2008, 10:45:08   #5 (permalink)
Bastler

Reg: 02.02.2008
Beiträge: 10
Standard

also meiner ansicht nach erfüllt das genau deinen zweck

wozu was anderes?

aber machs wie du willst

MfG
Lorem Ipsum
er_sechzig ist offline   Mit Zitat antworten
Alt 03.04.2008, 10:59:52   #6 (permalink)
Erfahrener Benutzer

ID: 102024
Lose-Remote

Reg: 29.04.2006
Beiträge: 377
Standard .

Ich suche immernoch jemanden, der das in Javascript umsetzen könnte (siehe 1. Post) und biete mal 100 Mio. Lose dafür an.
 

Geändert von Retep (03.04.2008 um 11:00:57 Uhr)
Retep ist offline Threadstarter   Mit Zitat antworten
Alt 03.04.2008, 11:06:50   #7 (permalink)
Bastler

Reg: 02.02.2008
Beiträge: 10
Standard

Wat willste denn ey? Nimm doch das waste hast. Es funzt und is wenig Code ... und gratis -.-

man man man
Lorem Ipsum
er_sechzig ist offline   Mit Zitat antworten
Alt 03.04.2008, 11:23:42   #8 (permalink)
Erfahrener Benutzer

ID: 102024
Lose-Remote

Reg: 29.04.2006
Beiträge: 377
Standard .

Ich möchte keinen periodischen Reload (das hatte ich wie gesagt vorher mit meiner Php-Variante auch schon) sondern nur einen einfachen Reload genau dann, wenn es notwendig ist. Das bekommt man leider nicht mit Html/Php hin, sonst müsste ich nicht anfragen.

Damit konkreter wird, was ich meine, gebe ich ein Minimalbeispiel, wenn es dafür jemand realisieren würde, könnte ich es an mein Script anpassen.

Das sei "bla.php":
<?php [MySQL-Daten]
$st = mysql_query("SELECT a FROM b WHERE c = '$d'");
while ($ds = mysql_fetch_object($st)) {
$a = $ds -> a;
}
echo $a;
?>

Wenn sich nun genau dieser Wert a in der Datenbank *ändert*, soll automatisch "bla.php" komplett neu geladen werden (oder alternativ eine andere Seite "bla2.php").
 

Geändert von Retep (03.04.2008 um 11:25:51 Uhr)
Retep ist offline Threadstarter   Mit Zitat antworten
Alt 03.04.2008, 12:01:57   #9 (permalink)
Bastler

Reg: 02.02.2008
Beiträge: 10
Standard

PHP wird serverseitig ausgeführt. Also wird ein Script mit Datenbankanfrage auf deinem Server nur ausgeführt, wenn es über den Browser oder einen Cronjob ausgeführt wird. Also entweder du lädst die Seite regelmäßig per <meta>-Tag neu (mein Vorschlag) oder du richtest nen Cronjob für ne Extrascriptdatei ein (meist nen externer Service) und machst die Sache unnötig kompliziert.

MfG
Lorem Ipsum
er_sechzig ist offline   Mit Zitat antworten
Alt 03.04.2008, 12:03:40   #10 (permalink)
Hüüüüäääh? :):)
Benutzerbild von tkiela

ID: 295523
Lose-Remote
Reallife

Reg: 25.08.2007
Beiträge: 635
Standard

hast es mal probiert wenn du history.go(0) in body-tag einbaust?

Code:
1:
<body onload="javascript:history.go(0)">
Oder per AJAX in etwa so:

Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
function requesten(url) { request = erstellRequest(); request.onreadystatechange = function() request.open("GET", url , true); request.send(null); } function erstellRequest() { try { var request = new XMLHttpRequest(); } catch(ex) { try { var request = new ActiveXObject("MSXML2.XMLHTTP"); } catch(ex) { var request = new ActiveXObject("Microsoft.XMLHTTP"); } } return request; }
Und dann, wenn sich der Wert in der Datenbank ändert:
Code:
1:
<body onload="javascript:requesten(<?=$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/'.basename($_SERVER['PHP_SELF']) ?>)">
 

Geändert von tkiela (03.04.2008 um 12:14:00 Uhr)
tkiela ist offline   Mit Zitat antworten
Alt 03.04.2008, 12:10:25   #11 (permalink)
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose-Remote

Reg: 20.04.2006
Beiträge: 2.423
Standard

Welche Seite ist denn quasi die Umgebung? Wird bla.php im Browser angezeigt oder eine beliebige andere Seite?

Generell könnte eine Lösung mittels Prototype folgendermassen aussehen:

HTML-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
hier steht irgendein Inhalt<br/> <script type="text/javascript"> //<![CDATA[ // Der folgende Wert muss mittels PHP übergeben werden var value_to_observe = '<?=$initial_value?>'; // Zeit zwischen 2 AJAX-Abfragen in Millisekunden var poll_interval = 5000; Event.oberve(window, 'dom:loaded', function() { setTimeout(function() { new Ajax.Request('bla.php', { onComplete: function(transport) { if (transport.responseText!=value_to_observe) { location.reload(); } else { setTimeout(arguments.callee, poll_interval); } } }); }, poll_interval); }); //]]> </script>
Kannst Dich auch gerne per PN mit mehr Infos melden, dann guck ich mir das genauer an.
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse

Geändert von tleilax (03.04.2008 um 12:11:33 Uhr)
tleilax ist offline   Mit Zitat antworten
Alt 03.04.2008, 12:13:31   #12 (permalink)
return void
Benutzerbild von ice-breaker

ID: 93995
Lose-Remote

ice-breaker eine Nachricht über ICQ schicken
Reg: 27.04.2006
Beiträge: 6.271
Standard

http://files.petry-newmedia.de/ajax_reload/bla.php
so?

Die PHP-Datei lasse ich mit einer 50% Wahrscheinlichkeit bestimmen ob reloaded werden muss, und der JavaScript-Teil fragt alle 5Sekunden nach ob es einen reload geben soll
"Die Wahrheit entgeht dem, der nicht mit beiden Augen sieht." -Orici

www.internet-dsl-flatrate.de
ice-breaker ist offline   Mit Zitat antworten
Alt 03.04.2008, 17:28:20   #13 (permalink)
Erfahrener Benutzer

ID: 316371
Lose-Remote

Reg: 03.04.2008
Beiträge: 1.083
Standard

Du bekommst gleich ne PN von mir
NEU: Suche Hausaufgaben einfach mit der Hausaufgabensuchmaschine
FleyerShaver ist offline   Mit Zitat antworten
Alt 03.04.2008, 17:47:59   #14 (permalink)
Gummibärchen
Benutzerbild von Brom

Reg: 13.01.2007
Beiträge: 656
Standard

Das ganz einfach, per Ajax.

Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
function ajax(){ // Aktuelle Time now = new Date(); // AJAX Reuest erstellen var ajax = null; try{ ajax = new XMLHttpRequest(); } catch (ms){ try{ ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch (nonms){ try{ ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed){ ajax = null; } } } // Wurde das AJAX Object erstellt ? if (ajax == null) alert("Error: Die Operation konnte nicht durchgeführt werden."); //Requestdaten (GET/POST, URL, request ist asynchron(true) ) ajax.open("GET", 'load_php.php?anti_cache=' + now.getTime(), true); //Beim abschliessen des request wird diese Funktion ausgeführt ajax.onreadystatechange = function(){ switch(ajax.readyState) { case 4: // Erfolgreich ? if(ajax.status!=200) { // Fehler ausgabe alert("Error: Die Operation konnte nicht durchgeführt werden."); return false; }else{ if(ajax.responseText != 0) { // Hier wird man Weitergeleitet oder sonstiges window.location.href = "seite.php"; return true; } else { return false; } } break; // Wenn irgendein Fehler default: return false; break; } }; // Requestheader senden ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // Request beenden ajax.send(null); } function load_ajax() { ajax(); intervall = setInterval("ajax();", 10000) } setTimeout("load_ajax();", 1);
So dieser Code lädt alle 10 Sekunden die Datei load_php.php (Überprüft damit ob sich was in der DB geändert hat, das Script musst du selbst schreiben) und wenn der Request nicht 0 ist, wird man weitergeleitet oder was du halt willst.

Mfg
Brom
Will der Mensch die Eier eckig, geht’s den Hühnern aber dreckig.

Geändert von Brom (03.04.2008 um 17:55:08 Uhr)
Brom ist offline   Mit Zitat antworten
Alt 03.04.2008, 17:52:39   #15 (permalink)
Bastler

Reg: 02.02.2008
Beiträge: 10
Standard

Könnt ihr nich lesen oder was? Der will nur nen Reload, wenn sich n Wert in seiner DB ändert!!!

Peinlich...
Lorem Ipsum
er_sechzig ist offline   Mit Zitat antworten
Antwort

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[JavaScript/Ajax] Value an Wert anhängen M3Y3R Programmierung 2 09.07.2008 12:56:48
[B] Prorgammierung PHP, MySQL, JavaScript ( AJAX ) FreshStyle Lose4Scripts (erledigt) 12 28.04.2008 20:32:29
[Javascript] Seite per Ajax laden ChristianK Programmierung 6 05.02.2008 14:39:47
[S] Aufträge mit PHP&MySQL, JavaScript&AJAX netbuster Lose4Scripts 3 17.11.2007 01:26:41
[AJAX/PHP/JS] Javascript:back(); und dann noch 1:1 darstellen resoucer Programmierung 7 29.07.2007 16:02:02


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:31:52 Uhr.