Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Js o Ajax?] Select da database

    Premetto che di Js ne so poco e Ajax niente.
    Ho una select che prende i dati dal database Mysql, es:

    Codice PHP:
    echo "<select name=\"select1\">
    <option value=\"\" selected></option>"
    ;
    $query "SELECT * FROM tab ORDER BY Nome";
    $result mysql_query($query$db);
    while (
    $row mysql_fetch_array($result)) {
    $value $row["ID"];
    $Titolo $row["Nome"];
    echo 
    "<option value=\"$value\">$Titolo</option>
    "
    ;
    }
    </
    select
    in base al valore scelto mi deve fare la seconda query:
    Codice PHP:
    echo "<select name=\"select2\">
    <option value=\"\" selected></option>"
    ;
    $query "SELECT * FROM tab2 WHERE campo = '$select1' ORDER BY Nome";
    $result mysql_query($query$db);
    while (
    $row mysql_fetch_array($result)) {
    $value2 $row["ID"];
    $Titolo2 $row["Nome"];
    echo 
    "<option value=\"$value2\">$Titolo2</option>
    "
    ;
    }
    </
    select
    Come lo faccio?

  2. #2

  3. #3
    studiati questo codice

    codice:
    function getXMLHttpRequest()
    {
      var request = false;
      if(window.XMLHttpRequest)
      {
        request = new XMLHttpRequest();
      } else {
       if(window.ActiveXObject)
       {
         try
         {
           request = new ActiveXObject("Msml2.XMLHTTP");
         }
         catch(err1)
         {
           try 
           {  
              request = new ActiveXObject("Microsoft.XMLHTTP");
           }
           catch(err2)
           {
             request = false;
           }
         }
        }
      }
      return request;
    }
    function callServer_select  (query_string) {
    
    	azione = 'script_che_fornisce_la_risposta';
    
    	document.getElementById('campo_select').disabled = true;
    
    	var http = getXMLHttpRequest();
    	if (http == null) {
       		alert("Attenzione il tuo browser non supporta AJAX.");
    		return false;
    	}
    	else {
    
    		http.open("POST", azione, true);
    		http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    		http.onreadystatechange = function () {
    			useHttpResponse_campo_select (http); 
    		}
    
    		http.send(query_string);
    	}
    }
    
    function useHttpResponse_campo_select (http) {
    
    	var doc = document.getElementById('campo_select');
    
    	if (http.readyState >= 4) { 
    		if(http.status == 200) {
    			doc.disabled = false;
    			doc.innerHTML = http.responseText;
    		}
    	}
    }
    come script richiama il secondo php che hai scritto, dovrebbe andare già bene.
    Dimenticavo, il nodo con id= campo_select è il tuo contenitore del select (potrebbe essere un div), che lo devi posizionare nel tuo html. In alternativa lo crei con un po' di dom prima di vare la chiamata al server.

    ciao
    sergio
    ciao
    sergio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.