Recupérer des données avec FETCH sur un serveur local

Par _savageKey, il y a 2 ans


J'ai un serveur wamp d'installer, j'ai creer un dossier à la racine du serveur et j'y ai crée un fichier javascript;
J'essaye de recuperer des données dans mon serveur local avec l'url de phpMyAdmin.
Mais cela ne fonctionne pas, Est-il seulement possible de le faire, sans ecrire au prealabre une api ?
ps: je ne sais pas en faire.

const response = await fetch('http://localhost/phpmyadmin/index.php?route=/sql&db=test&table=pierre&pos=0', { headers: { Accept: 'application/json;charset=utf-8', }, mode: 'no-cors' }) if(!response.ok) { throw new Error('Erreur du serveur') }

Ce que je veux

Obtenir les informations de ma base au format json

Ce que j'obtiens

L'exception est rejettée à chaque execution

5 réponses

_savageKey, il y a 2 ans

which line ?

popotte, il y a 2 ans

Hello :)

Pour commencer: cecile est un bot (message + lien bizarre = bot, si le message réponds à ton message = bot + chatGPT)

Ensuite, pour accéder à phpmyadmin, il faut passer par http://localhost/phpmyadmin (sans index.php)

Ensuite... Tu as quoi comme message d'erreur?

Je pense que l'erreur vient du fait qu'il faut se connecter à la base, il faudrait que tu ajoutes le user/pwd dans ta requete:

fetch("http://localhost/phpmyadmin", { username: "root", password: "pwd" })

Commences au plus simple: Avant d'essayer de tirer les données, essayes de te connecter à la base en html

Bon après c'est sur que une API ce serait mieux, et ce serait la façon classique de faire

Alors au cas ou pas le choix faut une API tu peux essayer cette API:

// api_mysql.php // On crée le tableau a renvoyer $result = []; // Connexion à la database $pdo = new PDO("mysql:host=localhost;dbname=le_nom_de_ta_base", 'ton_username', 'ton_password'); // Tu récupères ce que tu veux dans la requete SQL $query = $pdo->query("SELECT * FROM ta_table"); // On pousse les données dans le tableau foreach ($query as $row) { array_push($result, $row); } // On renvoie le résultat return $result;

Et le JS

fetch('http://localhost/api_mysql.php') .then((response) => { console.log(response) // response = le tableau })
_savageKey, il y a 2 ans

merci de ta réponse j'ai essayé ce que tu m'as dit avec le php je pense que l'api marche mais ça ne fonctionne pas quand j'utilise

popotte, il y a 2 ans

Tu as une erreur coté PHP ou JS?

C'est quoi le message d'erreur? (dispo dans la console du navigateur)

_savageKey, il y a 2 ans

merci pour ton aide popotte j'ai réglé le soucis et j'ai utilisé la fonction json_encode pour encoder le tableau au format json et après j'ai effectué un echo au lieu d'un return. merci vraiment !