Le code de Fiurino permet dans Superpowers d’appeller une Url. Celle-ci fais une requête dans la base de données et renvoie un tableau en json.
Sur le serveur php :
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
# Connection à la BDD, requete puis déconnection
$conn = new mysqli("localhost", "root", "", "isoffice");
$result = $conn->query("SELECT idJoueur,nomJoueur,mdpJoueur FROM joueur");
$conn->close();
# Formatage de la requete
$outp = "[";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
if ($outp != "[") {$outp .= ",";}
$outp .= '{"idJoueur":"' . $rs["idJoueur"] . '",';
$outp .= '"nomJoueur":"' . $rs["nomJoueur"] . '",';
$outp .= '"mdpJoueur":"'. $rs["mdpJoueur"] . '"}';
}
$outp .="]";
# Renvoi du contenu formaté
echo($outp);
?>
Puis côté client, dans Superpowers
// permet d'exposer l'élément xmlhttp
var xmlhttp;
// fonction propre au code de Fiurino où le contenu de la requête est affiché dans les logs
function myF(arr) {
for(let i = 0; i < arr.length; i++) {
Sup.log(arr[i].idJoueur + "\n");
Sup.log(arr[i].nomJoueur + "\n");
Sup.log(arr[i].mdpJoueur + "\n");
}
}
// Fonction qui fait l'appel au serveur
// En modifiant la fonction pour qu'elle return le contenu tu peux le récupérer en faisant
// let joueurs = getJoueurs();
function getJoueurs(){
xmlhttp = new XMLHttpRequest();
var url = "http://localhost/apiphp/index.php";
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
return JSON.parse(this.responseText);
}
};
xmlhttp.open("GET", url, true);
xmlhttp.send();
}