Visualizzazione risultati 1 fino 6 di 6

Discussione: query con variabili derivati da fuzione js

  1. #1
    Guest

    Predefinito query con variabili derivati da fuzione js

    Buongiorno a tutti
    inizio con il postarvi il mio codice
    Codice:
    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>change demo</title>
      <style>
      div {
        color: red;
      }
      </style>
      <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
    </head>
    <body>
     
    	<script type="text/javascript">
    	
    		function myFunction() {
    
    		
    			
    			var x = document.getElementById("mySelect").value;
    			
    			stringa = x ;
    			
    			
    			
        document.getElementById("demo").innerHTML = "testo"  + x;
    		
    			
    			
    			
    			
    			
    			
    		}
    
    	
    	
    	</script>
    
    	<input id="mySelect" onChange="myFunction()">
    	
    	<p id="demo"></p>
    	
    	
    </body>
    </html>
    ora vi chiedo
    Ho la necessità di effettuare una query di select nel mio db utilizzando però la variabile "x" generatami dal campo input come parametro di filtro

    un esempio per spiegarmi meglio

    Codice PHP:
    SELECT * FROM prodotti WHERE cod_prodotto="variabile_x_javascript";

    come posso fare?

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,148

    Predefinito

    • Se non vuoi che la pagina ricarichi: (dopo aver inviato i dati)
      devi usare ajax. Visto che includi jQuery (che nel tuo codice non utilizzi), puoi sfruttarlo con jQuery.ajax().
      Altrimenti, se non vuoi utilizzare jQuery, devi utilizzare ajax nativo javascript.

    • Se ti va bene che la pagina si ricarichi:
      Puoi semplicemente fare il tutto senza jQuery ma, con un normale form HTML.


    Dopo che avrai fatto lo script, ricorda di modificarlo per proteggerti da attacchi sql injection.

    Ciao!

  3. #3
    Guest

    Predefinito

    Riusciresti a farmi un esempio di codice?
    Grazie infinite

  4. #4
    Guest

    Predefinito

    sono riuscito ad ottenere, seguendo alcune guide questo codice:

    Codice:
    <!DOCTYPE html>
    <html>
    <head>
    <script>
    function showUser(str) {
      if (str=="") {
        document.getElementById("txtHint").innerHTML="";
        return;
      } 
      if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
      } else { // code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      xmlhttp.onreadystatechange=function() {
        if (this.readyState==4 && this.status==200) {
          document.getElementById("txtHint").innerHTML=this.responseText;
        }
      }
      xmlhttp.open("GET","getuser.php?q="+str,true);
      xmlhttp.send();
    }
    </script>
    </head>
    <body>
    
    <form>
    <select  name="users" onchange="showUser(this.value)">
    <option value="">Select a person:</option>
    <option value="1">Peter Griffin</option>
    <option value="2">Lois Griffin</option>
    <option value="3">Joseph Swanson</option>
    <option value="4">Glenn Quagmire</option>
    </select>
    
    	
    	
    	
    </form>
    <br>
    <div id="txtHint"><b>Person info will be listed here.</b></div>
    
    </body>
    </html>
    GETUSER.php
    Codice PHP:
    <!DOCTYPE html>
    <html>
    <head>
    <style>
    table {
    width: 100%;
    border-collapse: collapse;
    }

    table, td, th {
    border: 1px solid black;
    padding: 5px;
    }

    th {text-align: left;}
    </style>
    </head>
    <body>

    <?php
    $q
    = intval($_GET['q']);

    $con = mysqli_connect('localhost','','','my_monicagestionale');
    if (!
    $con) {
    die(
    'Could not connect: ' . mysqli_error($con));
    }

    mysqli_select_db($con,"ajax_demo");
    $sql="SELECT * FROM user WHERE id = '".$q."'";
    $result = mysqli_query($con,$sql);

    echo
    "<table>
    <tr>
    <th>Firstname</th>
    <th>Lastname</th>
    <th>Age</th>
    <th>Hometown</th>
    <th>Job</th>
    </tr>"
    ;
    while(
    $row = mysqli_fetch_array($result)) {
    echo
    "<tr>";
    echo
    "<td>" . $row['FirstName'] . "</td>";
    echo
    "<td>" . $row['LastName'] . "</td>";
    echo
    "<td>" . $row['Age'] . "</td>";
    echo
    "<td>" . $row['Hometown'] . "</td>";
    echo
    "<td>" . $row['Job'] . "</td>";
    echo
    "</tr>";
    }
    echo
    "</table>";
    mysqli_close($con);
    ?>
    </body>
    </html>

    tuttavia il mio campo di partenza non è un select ma un input

    come posso modificare lo script affinchè funzioni?

  5. #5
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,148

    Predefinito

    Hai provato modificando appunto la select in un input?

    da:
    Codice HTML:
    <select  name="users" onchange="showUser(this.value)">
    <option value="">Select a person:</option>
    <option value="1">Peter Griffin</option>
    <option value="2">Lois Griffin</option>
    <option value="3">Joseph Swanson</option>
    <option value="4">Glenn Quagmire</option>
    </select>
    a:
    Codice HTML:
    <input type="text" name="users" onchange="showUser(this.value)">
    Ciao!

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Hai provato modificando appunto la select in un input?

    da:
    Codice HTML:
    <select  name="users" onchange="showUser(this.value)">
    <option value="">Select a person:</option>
    <option value="1">Peter Griffin</option>
    <option value="2">Lois Griffin</option>
    <option value="3">Joseph Swanson</option>
    <option value="4">Glenn Quagmire</option>
    </select>
    a:
    Codice HTML:
    <input type="text" name="users" onchange="showUser(this.value)">
    Ciao!
    Si, ma non funziona
    qui hai il link:
    http://monicagestionale.altervista.org/prova/prova/

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •