Query php in javascript

di il
5 risposte

Query php in javascript

Salve

ho necessità di inserire all'interno di un codice javascript ,formattati in un determinato modo, un ciclo di dati da db 

In pratica ho questo codice:

async function i18Loader() {
 const langs = ["it","en", "fr", "de"];
 const jsons = await Promise.all(
   langs.map((l) => fetch("lang/" + l + ".json").then((r) => r.json()))
 );
 const res = langs.reduce((acc, l, idx) => {
   acc[l] = { translation: jsons[idx] };
   return acc;
 }, {});
 await i18next
   .init({
     lng: localStorage.getItem("lan") || 'it',
     debug: true,
     resources: res,
     fallbackLng: "it-IT",
     backend: {
       backendOptions: [{
         // can be either window.localStorage or window.sessionStorage. Default: window.localStorage
         store: typeof window !== 'undefined' ? window.localStorage : null
       }, {
         loadPath: 'lang/{{lng}}.json' // xhr load path for my own fallback
       }]
     }
   });
 function updateContent() {
   const elements = document.getElementsByClassName("i18nelement");
   for (let i = 0; i < elements.length; i++) {
     const element = elements[i];
     const k = element.getAttribute("data-i18n");
     element.innerHTML = i18next.t(k);
   }
 }
 updateContent();
 i18next.on("languageChanged", () => {
   updateContent();
 });
 const langSelector = document.getElementById("langSelector");
 langSelector.removeAttribute("disabled");
 langSelector.addEventListener("click", (e) => {
   i18next.changeLanguage(e.target.value);
   localStorage.setItem("lan", e.target.value);
 });
}
i18Loader();

La parte const langs = ["it","en", "fr", "de"]; deve essere prelevata da db , sul db questi dati sono singoli per ogni riga

Come posso fare? Grazie

5 Risposte

  • Re: Query php in javascript

    30/01/2024 - djjunior ha scritto:


    La parte const langs = ["it","en", "fr", "de"]; deve essere prelevata da db , sul db questi dati sono singoli per ogni riga

    Esponi una API scritta con PHP, anche una banale pagina, che ti restituisca i dati in formato JSON e usa la funzione fetch() per invocare la pagina da JavaScript scaricando i dati sul client.

  • Re: Query php in javascript

    Grazie per la risposta, ho fatto:

    <?php
    include('conn.php');
        $sql = "select * from lingue";
        $result = mysqli_query($db, $sql);
        $lang_array = array();
        while($row = mysqli_fetch_assoc($result)) {
            $lang_array[] = $row;
        }
        echo json_encode($lang_array);
    ?>

    Ho questo risultato:

    [{"id":"1","lingua":"it","lingua_alt":"it","lingua_esteso":"Italiano"},{"id":"2","lingua":"gb","lingua_alt":"en","lingua_esteso":"English"},{"id":"3","lingua":"fr","lingua_alt":"fr","lingua_esteso":"Francais"},{"id":"4","lingua":"de","lingua_alt":"de","lingua_esteso":"Deutsch"}]

    ma non so proprio dove iniziare per inserirlo nello script js sopraindicato.
    Puoi aiutarmi? Grazie

  • Re: Query php in javascript

    31/01/2024 - djjunior ha scritto:


    ma non so proprio dove iniziare per inserirlo nello script js sopraindicato.

    Hai fatto almeno una ricerca? Io ho trovato ad esempio questo articolo, che parla sia di PHP che di JavaScript.

    Se qualcosa non ti è chiaro, spiega di cosa si tratta e possiamo approfondire.

    Se invece non sai come procedere perché non conosci JavaScript a livello base, l'unico aiuto possibile è fare il lavoro al posto tuo, e purtroppo non ne ho il tempo, oltre a essere del tutto fuori luogo (ci si trova qui per aiutare, non per acquisire lavori da realizzare per altri), quindi in tal caso devi approfondire JavaScript in sé o fare ricerche su questi argomenti.

  • Re: Query php in javascript

    Grazie, non certo pretendo che qualcuno mi faccia il lavoro, ci mancherebbe era solo avere un indicazione essendo una cosa mai fatta, naturalmente ho girato sul web , sono capitato anche all'articolo che mi hai postato, ma mi resta sempre il problema come inserirlo correttamente, grazie ugualmente per l'aiuto

  • Re: Query php in javascript

    31/01/2024 - djjunior ha scritto:


    sono capitato anche all'articolo che mi hai postato, ma mi resta sempre il problema come inserirlo correttamente

    Conosci il linguaggio JavaScript?

    Hai provato a scrivere la chiamata a fetch() nel tuo codice seguendo l'esempio dell'articolo?

    In caso di difficoltà, puoi sempre procedere per step conservando il tuo codice originale e integrando la parte nuova passo per passo verificando i risultati.

    Insomma, le modalità sono tante.

    Non vuoi qualcuno che ti faccia il lavoro, ma se il tuo dubbio in merito a spiegazioni è “non so come fare”, stai solo attendendo una risposta del tipo “si fa così”, con annesso codice pronto all'uso. In caso contrario, faresti delle prove, scriveresti domande specifiche, in breve andresti ad approfondire. Non è che ci siano molte alternative.

Devi accedere o registrarti per scrivere nel forum
5 risposte