- Home
- Categorie
- Coding e Sistemistica
- Coding
- Come realizzare delle select concatenate con PHP e jQuery #2
-
Come realizzare delle select concatenate con PHP e jQuery #2
Similmente al precedente post anche qui si ha a che fare con chiamate ajax, php e jquery. Spero possa tornare utile a tutti!
Ho tre tabelle "regioni" (id_reg, nome) e "province" (id_prov, id_reg, nome) e "comuni" (id_com, id_reg, id_prov, nome). Ho due menù select (regioni e provincie) collegati che prendono dati dal database, tuttavia il terzo menù (comuni) NON deve essere un select ma deve stamparmi i dati magari dentro una tabella.fonte: wwwPUNTOyourinspirationwebPUNTOcom/2010/09/09/come-realizzare-delle-select-concatenate-con-php-e-jquery/
Ho sempre una pagina db_config.php e una jquery-1.3.2.js;
un file select.php:
[PHP]<?php
include_once 'select.class.php';
$opt = new SelectList();
if(isset($_POST['id_reg']))
{
echo $opt->ShowTipi();
die;
}
if(isset($_POST['id_prov']))
{
echo $opt->ShowTipi();
die;
}
?>[/PHP]E il file più importante prova.php:
che ha tra i tags <head><script type="text/javascript" src="jquery-1.3.2.js"></script><script type="text/javascript"> $(document).ready(function(){ var scegli = '<option value="0">Scegli...</option>'; var attendere = '<option value="0">Attendere...</option>'; $("select#province").html(scegli); $("select#province").attr("disabled", "disabled"); $("select#comuni").html(scegli); $("select#comuni").attr("disabled", "disabled"); $("select#regione").change(function(){ var regione = $("select#regione option:selected").attr('value'); $("select#province").html(attendere); $("select#province").attr("disabled", "disabled"); $("select#comuni").html(scegli); $("select#comuni").attr("disabled", "disabled"); $.post("select.php", {id_reg:regione}, function(data){ $("select#province").removeAttr("disabled"); $("select#province").html(data); }); }); $("select#province").change(function(){ $("select#comuni").attr("disabled", "disabled"); $("select#comuni").html(attendere); var provincia = $("select#province option:selected").attr('value'); $.post("select.php", {id_prov:provincia}, function(data){ $("select#comuni").removeAttr("disabled"); $("select#comuni").html(data); }); }); }); </script>Prima del tag <body>
[PHP]<?php
include_once 'select.class.php'; $opt = new SelectList();
?>[/PHP]E nei tags <body>
[HTML]<div id="container">
<form action="" id="myform">
<table width="100%" id="gabbia">
<tr>
<td><h2>Riepilogo:</h2>
<table width="100%" border="0" cellpadding="0" cellspacing="0" id="a3">
<tr>
<td width="32%" align="center" valign="top"><strong>Seleziona una Regione:</strong><br /><br />
<select name="regione" size="8" id="regione">
<?php echo $opt->ShowRegione(); ?>
</select></td>
<td width="38%" align="center" valign="top"><strong>Seleziona Provincia:</strong><br /><br />
<select name="province" size="8" id="province">
<option>Scegli...</option>
</select></td>
<td width="30%" align="center" valign="top"><strong>Comuni:</strong><br /><br />
<div id="comuni"></div>
<br />
<br /></td>
</tr>
</table></td></tr><tr><td><h2> </h2></td></table></form></p></div>[/HTML]Io ho provato a sostituire
[HTML]<select name="comuni" size="8" id="comuni">
<option>Scegli...</option>
</select>[/HTML]con [HTML]<div id="comuni"></div>[/HTML]
E nel select.class.php:
[PHP]<?php
class SelectList{ protected $conn; public function __construct() { $this->DbConnect(); } protected function DbConnect() { include "db_config.php"; $this->conn = mysql_connect($host,$user,$password) OR die("Impossibile connettersi al database"); mysql_select_db($db,$this->conn) OR die("Impossibile selezionare il database $db"); return TRUE; } public function ShowRegioni() { $xxx = $_SESSION['idutenti']; $sql = "SELECT * FROM regioni"; $res = mysql_query($sql,$this->conn); while($row = mysql_fetch_array($res)) { $regione .= '<option value="' . $row['id_reg'] . '">' . $row['nome'] . '</option>'; } return $regione; } public function ShowProvince() { $sql = "SELECT * FROM province WHERE id_prov=$_POST[id_reg]"; $res = mysql_query($sql,$this->conn); while($row = mysql_fetch_array($res)) { $province .= '<option value="' . $row['id_prov'] . '">' . $row['nome'] . '</option>'; } return $province; } public function ShowComuni() { $sql = "SELECT . FROM comuni WHERE id_com=$_POST[id_prov]"; $res = mysql_query($sql,$this->conn); while($row = mysql_fetch_array($res)) { $comuni .= '' . $row['id_com'] . '' . $row['nome'] . ''; } return $comuni; }}
?>[/PHP]Comunque nella fonte wwwPUNTOyourinspirationwebPUNTOcom/2010/09/09/come-realizzare-delle-select-concatenate-con-php-e-jquery/ trovate il download diretto.
Come si può fare?
