Skip to content Skip to sidebar Skip to footer

Pass An Array From Php To Javascript

I'm trying to pass an array from php (on a separate file) side to JavaScript and update HTML table. The array on the php side is a result of MySQL query. Here is what I've done so

Solution 1:

Don't forget to set the header :

header('Content-Type: application/json');

When you do "document.getElementById(i)" you try to access on an element witch having a bad ID (integer)... Here is the rule :

ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").

Solution 2:

Here is the complete page

<script type="text/javascript"  >

     setInterval(updateSensorsTable, 2000);
     setInterval(updatePower, 1000);


     functionshowValue(value) {
         //show value in htmldocument.getElementById("brightnesValue").innerHTML = value;
         //Set brightness value to DB id=10callPage('/setValueToDB.php?value=' + value + '& id=10' + '', document.getElementById(''));
     }

     functionTurnLedOn() {
         //TODO: need to set the led state and update the sql serverdocument.getElementById("ledStatus").src = "/LedOn.png";
         callPage('/setValueToDB.php?value=1&id=9' + '', document.getElementById(''));
     }

     functionTurnLedOff() {
         //TODO: need to set the led state and update the sql serverdocument.getElementById("ledStatus").src = "/LedOff.png";
         callPage('/setValueToDB.php?value=0&id=9' + '', document.getElementById(''));
     }

     functionAjaxCaller() {
         var xmlhttp = false;
         try {
             xmlhttp = newActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
             try {
                 xmlhttp = newActiveXObject("Microsoft.XMLHTTP");
             } catch (E) {
                 xmlhttp = false;
             }
         }

         if (!xmlhttp && typeofXMLHttpRequest != 'undefined') {
             xmlhttp = newXMLHttpRequest();
         }
         return xmlhttp;
     }

     functioncallPage(url, div) {
         var ajax = AjaxCaller();
         ajax.open("GET", url, true);
         ajax.onreadystatechange = function () {
             if (ajax.readyState == 4) {
                 if (ajax.status == 200) {
                     div.innerHTML = ajax.responseText;
                 }
             }
         }
         ajax.send(null);
     }

      functionupdateSensorsTable() {
         
         for (i = 0; i < 8; i++) {
             callPage('/getVarFromDB.php?offset=' + i , document.getElementById(i));
         }
         /*
         $.getJSON("/getTableFromDB.php", function (json) {
             for (i = 0; i < 8;i++ )
             document.getElementById(i).innerHTML = json[i];
             });
             */
             }

     functionupdatePower() {
         callPage('/getVarFromDB.php?offset=' + 10, document.getElementById('powerValue'));
     }

 </script>
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8" /><metaname="viewport"content="width=device-width,height=device-height,initial-scale=1.0"/><title>SmartLight</title></head><bodybgcolor="#E6E6FA"><br></br><tableclass="sensorsTable"align="center"><thead><tr ><th>Sensor</th><th>Value</th></tr></thead><tbody><tr><tdalign="left">GPS</td><tdalign="center"id="0">0</td></tr><tr><tdalign="left">Temperature</td><tdalign="center"id="1">0</td></tr><tr><tdalign="left">Pressure</td><tdalign="center"id="2">0</td></tr><tr><tdalign="left">Light</td><tdalign="center"id="3">0</td></tr><tr><tdalign="left">Altitude</td><tdalign="center"id="4">0</td></tr><tr><tdalign="left">Accelerometer</td><tdalign="center"id="5">0</td></tr><tr><tdalign="left">Humidity</td><tdalign="center"id="6">0</td></tr><tr><tdalign="left">Camera</td><tdalign="center"id="7">0</td></tr></tbody></table><br></br><tableclass="ledTable"align="center"><tr><tdalign="center"><inputtype="image"src="/TurnOn.png"id="turnOn"width="60"height="60"onclick='TurnLedOn()'></td><tdalign="center"><inputtype="image"src="/TurnOff.png"id="turnOff"width="60"height="60"onclick='TurnLedOff()'></td><tdalign="center"><imgsrc="/LedOn.png"style="width:60px;height:60px"id="ledStatus"></td></tr><tr><tdalign="center"id="ledOnButton">LED On</td><tdalign="center"id="ledOffButton">LED Off</td><tdalign="center">LED Status</td></tr></table><divalign="center">
            Brightness:
            <inputtype="range"id="brightnesBar"min="0"max="100"value="0"step="1"onchange="showValue(this.value)" /><spanid="brightnesValue">0</span><tablealign="center"class="power"><tr><tdalign="center"id="powerValue">0</td><tdalign="left">mW</td></tr></table><divalign="center" >LED Power Meter</div></div>

Post a Comment for "Pass An Array From Php To Javascript"