Ein Script, das bis zu 4sek mit sich zu tun hat, soll ich einer Tabelle nachgeladen werden. Habe dazu dies.. Code: $.ajax({ type: "GET", url: "includes/mbr_statistik/mbr_test.php", data: "nachladen", success: function(nachladen){ $('#nachladen').empty(); $('<span>'+nachladen+'</span>').appendTo('#nachladen'); } }); im Headbereich eingebaut und an gewünschter Stelle die Ausgabe: Code: <div id="nachladen" style="text-align:center;"> <img class="mbr_wait_pic" border="0" src="<?php echo MBrImagesDir; ?>mbr_icon_running.gif"> <br /> <div style="color:grey;"><small>Daten werden aufbereitet</small></div> </div> Das bombastische Script "mbr_test.php" beinhaltet jetzt mal nur.. Code: <?php $dummy = 'HALLO MANNI'; echo $dummy; ?> Ok ... das "mbr_icon_running.gif" erscheint, dreht eine Runde und dann ... nix - nur weißer Bildschirm! Frage: Denk- oder Konstruktionsfehler? Für zielführende Hinweise bereits jetzt ein MagaDankeschön!
Versuche mal statt PHP: $('#nachladen').empty(); $('<span>'+nachladen+'</span>').appendTo('#nachladen'); PHP: $('#nachladen').html(nachladen);
Kaum macht man die Pfadangabe in "Url" richtig, schon funktioniert es! Kleine Zusatzfrage: Das "mbr_test.php" soll Dutzende DB-Querys machen und ausgeben. 1.) Dazu müssen ja wohl die ganzen "DIR_FS_INC-Funktionen geladen werden - oder? 2.) Die Ausgabe muss "mbr_test.php" machen, denn zurück an das aufrufende Script kann ja (eigentlich) nix kommen?!
1. Ja. 2: Natürlich bekommt das Skript was zurück: den HTML-Code in "nachladen" in "success: function(nachladen){ ". Nur das Skript kann ja per AJAX nachgeladenen HTML-Code in die Seite einbauen.
EIn kleines "application_top"-Problem bekomme ich einfach nicht gelöst! Die Funktionalität wie in #1 beshrieben funktioniert tadellos. Nur die Frage 1.) aus #3 macht Sorgen. Das Includen des ganzen "DIR_FS_INC" Funktionen ist m.E unschön und was schlimmer ist, manches steht trotzdem nicht zu Verfügung - nur als Beispiel "$_SESSION['language']" und Konstante wie "MODULE_PAYMENT_INSTALLED" Habe nur versucht die "appication_top.php" zu includen. Mit "require('../../includes/application_top.php');" wird sie gefunden & geladen - steig aber bei Zeile 70 ("require('includes/configure.php');") aus - logisch chdir('../../'); require('includes/application_top.php'); ... kommt zwar kein Fehler - nur die Kontrolle kommt nicht mehr zurück ans aufrufende Script. Wie könnte man diese Zwickmühle (sauber) lösen?
Erstens mal solltest Du die "application_top_export" includen, die dürfte ausreichen wenn es um DB-Zugriffe geht, und includiert nicht zu viel überflüssiges... Ein kleines PHP: chdir('../../'); am Anfang von "mbr_test.php" sollte das Problem lösen. Damit setzt Du das aktuelle Ausführungsverzeichnis auf die Shop-Root, Dann kannst Du "include('includes/application_top...') verwenden.
Ja SakraDeiwi ... wo bringtste jetzt datt Gerät her? Ok ... sehr schön - wenn jetzt noch die "$_SESSION['language']" zur Vergüng stünde .. wäre ich (für heute) ruhig!
Versuche es mal damit in Deinem Programm nach der "application_top": PHP: session_name('XTCsid');if (STORE_SESSIONS != 'mysql') session_save_path(SESSION_WRITE_DIRECTORY);session_start();
Bingo!! PS: Da dir an einem "Geistig auf die Stirn geküsst" und an einem Gutschein für LuxusKartoffeln nix liegt, habe ich das "DankeProblem" anders (..,55€) gelöst!
Kleine Nachfrage: Der AvengerTipp statt der "application_top" die abgespeckte Version "application_top_export" zu nehmen, wift die Frage auf: "Fehlt dann nix in Bezug auf Speed bei DB-Zugriffen?" Da wäre noch´n kleiner Nachbrenner hübsch. Es fehlt z.B "xtc_db_queryCached.inc.php" ... bringt datt Dingens was?
Dieser ganze Caching-Quatsch von xxCommerce stammt noch aus Zeiten, in denen die Rechner seeeehhhhrrrr lahm waren..... Wie man ja auch hier lesen kann, macht Caching in vielen Fällen mehr kaputt als dass es nutzt....