| 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: 16 let
|
|||
0
).