Autor | Zpráva | ||
---|---|---|---|
mahdy Profil |
Dobrý den lidičky,
upravil jsem si ajaxový zdroják, tak aby mi po určitých časových intervalech natahoval pomocí GETu externí php soubor, který obsahuje připojení k databázi a výpis dat pomocí echo. Všechno funguje, jenomže chyba je v tom, že se neustále za sebou připojuje k databázi, což vede k tomu, že to po chvilce celé spadne. Když dám funkci pro připojení do souboru s ajaxem (index) tak mi to píše errory, že se nepodařilo spojit s DBF. Můj záměr: Potřebuji po určitých intervalech automaticky tahat data z MysSQL databáze. Poradíte někdo? index.php: <script type="text/javascript"> Ajax(); function Ajax(){ var xmlHttp; try{ xmlHttp=new XMLHttpRequest();// Firefox, Opera 8.0+, Safari } catch (e){ try{ xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer } catch (e){ try{ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ alert("No AJAX!?"); return false; } } } xmlHttp.onreadystatechange=function(){ if(xmlHttp.readyState==4){ document.getElementById('ReloadThis').innerHTML=xmlHttp.responseText ; // setTimeout('Ajax()',1000); } } xmlHttp.open("GET","aaa.php",true); xmlHttp.send(null); setTimeout('Ajax()',1000); } </script> <html> <div id="ReloadThis"></div> </html> aaa.php: <?php mb_language("uni"); mb_internal_encoding("UTF-8"); $kontrola_pripojeni = mysql_connect("localhost","root",""); mysql_select_db("databaze"); MySQL_Query("SET NAMES UTF8"); $vyber_vydrazene = mysql_query('SELECT cena_aktual from predmety WHERE stav="běží" ORDER BY id_predmetu DESC'); echo mysql_result($vyber_vydrazene, 1, "cena_aktual"); ?> Budu Vám vděčný za každou radu |
||
Aichi Profil |
#2 · Zasláno: 10. 11. 2009, 18:59:25
To že ti to v PHP hází chyby bude asi tím, že máš něco špatně. Nicméně je dobře že máš tu inicializaci připojení v tom souboru aaa.php, který každou vteřinu voláš z JS. Pokud napíšeš ty chyby, třeba ti řekneme v čem je problém
|
||
mahdy Profil |
#3 · Zasláno: 10. 11. 2009, 20:08:53
Nojo, ale pokud je ta inicializace v tom souboru aaa.php, tak to wamp (server) nezvládne a za nějaký čas, cca 30s hodí error.
Pokud dám inicializaci do indexu, chyba vypadá takto: Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in D:\Programy\wamp\www\test\aaa.php on line 3 Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in D:\Programy\wamp\www\test\aaa.php on line 3 Warning: mysql_result(): supplied argument is not a valid MySQL result resource in D:\Programy\wamp\www\test\aaa.php on line 5 |
||
Aichi Profil |
#4 · Zasláno: 11. 11. 2009, 16:39:51
jak vypada ta chyba, pokud je to v tom aaa.php?!!!
kdyz ji tam nema, tak se to ocividne hlasi nejakym defaultnim userem k db a ten tam nema samosebou pristup. v cem je problem pri cteni chyb? |
||
mahdy Profil |
#5 · Zasláno: 11. 11. 2009, 18:11:23
už jsem to vyřešil tak, že jsem inicializaci nechal v aaa.php a spouštím ji jen když není přihlášen Session (jednoduchá podmínka)
|
||
mahdy Profil |
#6 · Zasláno: 13. 11. 2009, 11:20:05
Lidičky, ještě jeden "tupej" dotaz.. Jak tahat ze souboru aaa.php proměnné? respektivě si kteroukoliv proměnnou z php přiřadit do kterékoliv proměnné v js.
Př. mám proměnnou v aaa.php $a = '......'; $b = '......' a chci je přiřadit v js do proměnných a, b; děkuji za případné návrhy |
||
PetrM Profil * |
#7 · Zasláno: 13. 11. 2009, 13:03:34
mahdy:
JSON ? |
||
mahdy Profil |
#8 · Zasláno: 13. 11. 2009, 17:59:10
PetrM:
> mahdy: > JSON ? co prosím? |
||
mahdy Profil |
#9 · Zasláno: 13. 11. 2009, 18:27:39
PetrM:
> JSON ? Tak už jsem si našel fci json_encode(), která mi zakoduje pole z php. Ale pak nevím jak to z toho js převést opět na php, vím jen jak to opět rozkodovat pomoci json_decode. |
||
PetrM Profil * |
#10 · Zasláno: 13. 11. 2009, 18:34:08
mahdy:
JSON hod do eval(); |
||
Časová prodleva: 17 dní
|
|||
mahdy Profil |
Takže jsem celý kod prekopal... jenomže to nejede v IE 8
<script type="text/javascript"> var xmlHttp; function VytvorXMLHttp(){ var xmlHttp = false; if(window.ActiveXObject) {xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");} else if (window.XMLHttpRequest) {xmlHttp = new XMLHttpRequest();} return xmlHttp; } function aktivujRequest(){ xHttp = VytvorXMLHttp(); xHttp.onreadystatechange = obsluhaStateChange; xHttp.open("GET", "../actions/ajax_act.php?vava=1", true); xHttp.send(null); } function obsluhaStateChange(){ if(xHttp.readyState == 4 && xHttp.status == 200){ //text = xHttp.responseText; document.getElementById('xx').innerHTML = xHttp.responseText; } } aktivujRequest(); </script> <div id="xx"></div> Můžete poradit kde je chyba? Moderátor Chamurappi: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
|
||
mahdy Profil |
#12 · Zasláno: 30. 11. 2009, 18:30:50
V IE mi to z toho souboru nenatáhne proměnnou a vyhodí to chybu ze document.getElementById('xx') je prázdný.
Nevím kde by mohla být chyba.. I když dám saotný soubor ajax_act.php bez proměnné tak to echo nevypíše. Mě to připadá jako by se zahltila cache. Ve FF a google chrome to valí. Prosím poraďte |
||
_es Profil |
#13 · Zasláno: 1. 12. 2009, 18:55:32
mahdy:
Presuň to <div id="xx"></div> pred ten skript. |
||
Yur4Y Profil |
#14 · Zasláno: 1. 12. 2009, 19:02:11
_es:
„Presuň to <div id="xx"></div> pred ten skript.“ Alebo window.onload = aktivujRequest; |
||
Časová prodleva: 14 let
|
0