Avatar billede larsgrau Forsker
23. september 2020 - 12:42 Der er 1 løsning

Tage data ud af en array sendt med json

Det første  er lave op mod en mysql database.
<script>
function shipnamechange(){
    var ajax = new XMLHttpRequest();
    var method = "GET";
    var x = document.getElementById("answer-hidden").value;
    var y = document.getElementById("answer").value;
   
    var url = "platformname.php?shipname_id=" + x + "&hidden_name=" + y;
   
    var asynchronous = true;
    ajax.open(method, url, asynchronous);
    ajax.send();
    ajax.onreadystatechange = function()
    {
            if (this.readyState == 4 && this.status == 200)
            {
                var data = JSON.parse(this.responseText);
                console.log(data);
             
                var Platform = data.PlatformName;
                var Nation = data.Nation;
                var Type = data.Type;
                var Class = data.Class;
                var Pennant = data.Pennant;
               
                skibsnavn = (typeof(skibsnavn) != "undefined")? skibsnavn : "";
                Classnavn = (typeof(Classnavn) != "undefined")? Classnavn : "";
                shiprole = (typeof(shiprole) != "undefined")? shiprole : "";
                country = (typeof(shipcountries) != "undefined")? shipcountries : "";
               
                  document.getElementById("answer").value = Platform;
                document.getElementById("Nation").value = Nation;
                document.getElementById("Type").value = Type;
                document.getElementById("Class").value = Class;
                document.getElementById("Pennant").value = Pennant;
            }
    }
}
</script>

får data fra denne fil "platformname.php"

$result = mysqli_query($db,"SELECT * from shiplist WHERE Classname='$shipname'");

$data = array();
while ($row= mysqli_fetch_assoc($result))
{
    $data[] = $row;   
}

echo json_encode($data);

Dette kommer tilbage i consol og det kan jeg godt får data ud af.
{"id":"1","PlatformName":"NGOLA KILUANGE","Class":null,"Type":null,"Pennant":null,"Nation":"Angola"}

Det andet har jeg lavet op mod en sqlite3 database og det se ud som følger:

<script>
function iqfilechange(){
    var ajax = new XMLHttpRequest();
    var method = "GET";
    var x = document.getElementById("iq").value;
    var url = "iqchange.php?iqfile=" + x;
    var asynchronous = true;
    ajax.open(method, url, asynchronous);
    ajax.send();
    ajax.onreadystatechange = function()
        {
            if (this.readyState == 4 && this.status == 200)
            {
                var data = JSON.parse(this.responseText);//browser fejler her
                console.log(data);
                var html = "";
                for (var a = 0; a < data.length; a++)
                {
                    var spot = data[Array].Avg_RF;
                   
                }
                document.getElementById("RF").value = spot;
               
            }
    }
}
</script>

Data kommer fra denne fil "iqchange.php"

$results=$dblite->query("Select * FROM platform where id = '$iqfile'") or die ('Query faild');

$data = array();
while ($row= $results->fetchArray())
{
    $data[] = $row;
}
echo json_encode($data);


Array ( [0] => Array ( [0] => 22 [ID] => 22 [1] => NGOLA KILUANGE [PLATFORMNAME] => NGOLA KILUANGE [2] => Angola [PLATFORMNATION] => Angola ) )

denne array kan jeg ikke finde ud af og tage data ud , med det script jeg bruger.

Nogen som kan hjælpe mig ?
Avatar billede larsgrau Forsker
23. september 2020 - 12:58 #1
Glem alt, jeg tænkte mig ikke om
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester