Hej!
Har några frågor angående AJAX och mysql.
Jag har en kod och getElementById är null säger "IE" och får fel på sidan?
IE laddar in AJAX resultatet efter angivet refresh tid. Den skriver alltså inte ut någonting som "Laddar..." ? innan den har refreshat en gång? FF osv laddar direkt.
Sen vill jag skriva ut resten av kolumnerna i databasen i tabellen som genereras fram via php och mysql. Nu skrivs det bara ut i den första tr som skrivs ut?
Jag har provat att slänga in olika variabler med minDivTag.
2.php:
<?
require("db.php");
$open = mysql_connect ("$host", "$u","$p");
$sql = "SELECT * FROM artiklar ORDER BY id DESC LIMIT 1";
$result = mysql_db_query("$db","$sql");
while($post=mysql_fetch_array($result)){
echo "Aktuellt pris: " . $post['pris'] . " :-";
}
?>
sida.php:
<?
mysql_connect("$host","$u","$p");
mysql_select_db("$db");
$sql_query = mysql_query("SELECT * FROM artiklar WHERE typ='1' ORDER BY start DESC");
while($result = mysql_fetch_assoc($sql_query)){
?>
<script language="javascript" src="ajax.js" type="text/javascript"></script>
<?
echo $result['produktnamn'];
echo "<div id=\"minDivTag\"></div>";
ajax.js:
function callback(serverData, serverStatus, id) { // Anropas när vi fått datat från servern
if(serverStatus == 200){
document.getElementById(id).innerHTML = serverData; //Skriv ut datat i vårt HTML element
} else {
document.getElementById(id).innerHTML = 'Laddar...';
}
}
function ajaxRequest(openThis, id) {
var AJAX = null; // Skapa AJAX variablen.
if (window.XMLHttpRequest) { // Kolla om denna webbläsaren har ett XMLHttpRequest objekt?
AJAX=new XMLHttpRequest(); // Om ja! -- Ladda det.
} else { // Nej!, Försök skapa det på Microsofts sätt.
AJAX=new ActiveXObject("Microsoft.XMLHTTP"); // Okej, då gör vi det med ActiveX
} // Klart.
if (AJAX==null) { // Om vi inte kunde skapa vårt AJAX objekt...
alert("Din browser stödjer inte AJAX."); // Felmeddelande.
return false // Retunera false, vi misslyckades.
}
AJAX.onreadystatechange = function() { // När webbläsaren har den efterfrågade informationen.
if (AJAX.readyState==4 || AJAX.readyState=="complete") { // Kolla om det är helt klart.
callback(AJAX.responseText, AJAX.status, id); // Skicka vidare informationen för bearbetning.
} else { document.getElementById(id).innerHTML = 'Uppdaterar bud...';
}
}
var url= openThis; // Detta är adressen vi vill öppna.
AJAX.open("GET", url, true); // Öppna adressen.
AJAX.send(null); // Skicka en förfrågan.
}
ajaxRequest('2.php', 'minDivTag'); //Kör
var interval = setInterval("ajaxRequest('2.php?rnd='+Math.random() , 'minDivTag')",10000);
//Kör