Advertisement
fcamuso

Corso recupero Javascript - video 16

Jun 27th, 2023
877
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //PAGINA HTML
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5.     <meta charset="UTF-8">
  6.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8.     <title>Document</title>
  9. </head>
  10. <body>
  11.     <form id="formElem">
  12.         Inserisci cognome<input type="text" id="cognome" name="cognome">
  13.         <input type="button" id="bottone" value="invia">
  14.     </form>
  15.      
  16.     <div id="livello"></div>
  17.     <script>
  18.        
  19.         document.getElementById("bottone").addEventListener("click", invia);
  20.         async function invia()
  21.         {
  22.              
  23.             //volendo usare POST ...
  24.             //let ogg_form = document.getElementById("formElem");
  25.             // let ogg_formData = new FormData(ogg_form);
  26.             // const myRequest = new Request("elabora5_elenco_atletiJSON.php", {
  27.             //     method: "POST",
  28.             //     body: ogg_formData
  29.             // });
  30.             //let response = await fetch(myRequest);
  31.            
  32.             let parametro_get = document.getElementById("cognome").value;
  33.             let response = await fetch("elabora5_elenco_atletiJSON.php?cognome="+parametro_get);
  34.             console.log(response);
  35.             if (response.ok)
  36.             {                
  37.                 let risposta = await response.json();
  38.                 console.log(risposta)
  39.                
  40.                 const div = document.getElementById("livello");
  41.    
  42.                 div.insertAdjacentHTML("beforeend", "<ul>");
  43.                 risposta.atleti.forEach(atleta => {
  44.                   div.insertAdjacentHTML("beforeend", "<li>" + atleta.cognome+
  45.                     " "+atleta.nome+"</li>");
  46.                 });
  47.                 div.insertAdjacentHTML("beforeend", "</ul>");
  48.                
  49.                
  50.             }
  51.             else
  52.             {              
  53.                 console.log(err);
  54.             }
  55.         }
  56.        
  57.     </script>
  58. </body>
  59. </html>
  60.  
  61.  
  62. //PAGINA PHP
  63. <?php
  64.     include "connessione.php";
  65.  
  66.     //richiamando nel browser, per fare dei test, direttamente
  67.     //questa pagina sarΓ  come se si fosse inviato da form o via fetch
  68.     //il parametro di ricerca 'ros'
  69.     //$cognome = isset($_POST['cognome']) ? $_POST['cognome'] : "ros";
  70.    
  71.     //se POST  ...
  72.     //$cognome = $_POST['cognome'];
  73.  
  74.     //se GET
  75.     $cognome = $_GET['cognome'];
  76.  
  77.     $sql = "select nome,cognome from atleti".
  78.         " where cognome like '{$cognome}%' order by cognome, nome";
  79.     $risultato = mysqli_query($conn,$sql);
  80.  
  81.     //modello formato json che vogliamo restituire
  82.     //{"atleti":[{"nome":"pietro","cognome":"rosa"},{"nome":"luigi","cognome":"rossi"},{"nome":"maria","cognome":"rossi"}]}
  83.     $righe = array();
  84.  
  85.     while($atleta = mysqli_fetch_assoc($risultato))
  86.        $righe['atleti'][] = $atleta; //$atleta == ["nome"=>"pietro, "cognome"=>"rosa"]
  87.  
  88.     //$righe == ['atleti'][["nome"=>"pietro", "cognome"=>"rosa"], ["nome"=>"luigi", "cognome"=>"rossi"], ...   ]
  89.    
  90.     mysqli_close($conn);
  91.    
  92.     header('Content-Type: application/json; charset=utf-8');
  93.     echo json_encode($righe);
  94. ?>
  95.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement