Estrazione dati da un db con un menu selezione in cascata

usernam47

Nuovo Utente
21 Nov 2012
7
0
0
Buongiorno

Problema:
devo realizzare dei menu di selezione in cascata esempio: selezione categoria, e poi selezione prodotto.
una volta effettuata la selezione tramite un pulsante o automaticamente dovrei tirare fuori i dati del prodotto completo.

Cosa ho fatto:

ho trovato la seguente guida http://www.yourinspirationweb.com/2...t-concatenate-con-php-e-jquery/#comment-77518
fantastica, ho seguito passo passo e ho ottenuto quello che volevo tranne che quando clicco sul pulsante mi dà il risultato di quello che ho selezionato, ma il resto dei dati che mi servono non si visualizzano.

domanda:

come faccio a dire al pulsante che mi deve tirare fuori tutti i dati di quel prodotto selezionato?

grazie in anticipo
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
il tuo form deve puntare ad una pagina o alla pagina stessa (non so) comunque da qualche parte dovresti avere
qualcosa che ti riceve l'id del prodotto. ti scrivo uno schema sperando che ti serva
PHP:
<?php
//.......
$id_prodotto=$_POST['id'];//valore che dovrebbe venire dalla <select> dei prodotti
$query=mysql_query("SELECT * FROM prodotti WHERE id=$id_prodotto");
while($riga=mysql_fetch_array($query)){
	echo $riga['nome']."<br />";
	echo $riga['descrizione']."<br />";
	echo $riga['costo']."<br />";
}
//....
?>
p.s.
non è il pulsante che gli dice quello che vuoi estrarre
 

usernam47

Nuovo Utente
21 Nov 2012
7
0
0
Ciao grazie per la risposta superveloce!!!

ma quello schema non lo trovo..

intanto ho scaricato un esempio diverso per vedere se ci capivo meglio, ho scaricato un menu di selezione in cascata regioni province comuni,
sono riuscito a inserire il pulsante che mi stampa sotto la selezione quello che ho scelto, ma io dovrei far stampare i dati completi della riga della tabella, tipo il nome del comune, il cap, il numero degli abitanti ecc, che poi nel mio caso saranno tipo di prodotto, colore ecc...ho provato a mettere mano ma o mi da un risultato null o non funziona, quindi non so cosa fare. di seguito il codice del file principale.
HTML:
<head>
	<script type="text/javascript" src="jquery-1.3.2.js"></script>

	<link href="screen.css" rel="stylesheet" type="text/css" />
	<title>Regioni, province, comuni</title>
	
	<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#regioni").change(function(){
									var regione = $("select#regioni 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_pro:provincia}, function(data){
										$("select#comuni").removeAttr("disabled");
										$("select#comuni").html(data);	
									});
								});	
								
			   codice aggiunto da me--->$("form#select_form").submit(function(){
								var regioni = $($("select#regioni option:selected")).attr('value');
								var province = $("select#province option:selected").attr('value');
								var comuni = $("select#comuni option:selected").attr('value');
								if(regioni>0 && province>0 && comuni>0)
								{
									var result = $("select#comuni option:selected").html();
									$("#result").html('Hai scelto: '+result);
								}
								else
								{
									$("#result").html("Devi scegliere le due opzioni!");
								}
								return false;
							});
						});	

	
	</script>
	
</head>
<?php include_once 'select.class.php'; $opt = new SelectList(); ?>
<body>
	<div id="container">
	
	
		<form  id="select_form">Seleziona una regione:<br />
			<select id="regioni">
				<?php echo $opt->ShowRegioni(); ?>
			</select>
			<br /><br />
		
			Seleziona una provincia:<br />
			<select id="province">
			<option>Scegli...</option>
			</select>
			<br /><br />
		
			Seleziona un comune:<br />
			<select id="comuni">
			<option>Scegli...</option>
			</select>
			<br /><br />
	
			<input type="submit" value="conferma" />
			
		
		</form>
		<div id="result"></div>
	</div>
 
Ultima modifica di un moderatore:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
ciao,
riguardo al link che hai postato avevamo gia affrontato lo stesso problema in questa discussione
prova a vedere se ti puo essere d'aiuto
 

Andrea Araci

Nuovo Utente
16 Apr 2013
2
0
0
Scusate ragazzi sto cercando anche io di estrapolare i dati selezionati ma non riesco proprio!

ho la select.class:

Codice:
public function ShowProvince()
		{
			$sql = "SELECT * FROM provincia";
			$res = mysql_query($sql,$this->conn);
			$provincia = '<option value="0">scegli...</option>';
				while($row = mysql_fetch_array($res))
				{
					$provincia .= '<option value="' . $row['id_prov'] . '">' . utf8_encode($row['provincia']) . '</option>';
				}
			return $provincia;
		}
		
		public function ShowComuni()
		{
			$sql = "SELECT * FROM comune WHERE id_prov=$_POST[id_prov]";
			$res = mysql_query($sql,$this->conn);
			$comune = '<option value="0">scegli...</option>';
				while($row = mysql_fetch_array($res))
				{
					$comune .= '<option value="' . $row['id_com'] . '">' . utf8_encode($row['comune']) . '</option>';
				}
			return $comune;
		}
		
		public function ShowQuartieri()
		{
			$sql = "SELECT * FROM quartiere WHERE id_com=$_POST[id_com]";
			$res = mysql_query($sql,$this->conn);
			$quartiere = '<option value="0">scegli...</option>';
				while($row = mysql_fetch_array($res))
				{
					$quartiere .= '<option value="' . $row['id_quar'] . '">' .utf8_encode($row['quartiere']) . '</option>';
				}
			return $quartiere;
		}
ma pur inserendo una pagina di risultati php con le 3 variabili non mi appare nulla, questo è il form:
Codice:
<form action="risultato.php" method="post" enctype="multipart/form-data" id="select_form">
      Seleziona una provincia:<br />
      <select id="province">
    <?php echo $opt->ShowProvince(); ?>
  </select>
      <br />
      <br />
      Seleziona un comune:<br />
      <select id="comuni">
    <option>Scegli...</option>
  </select>
      <br />
      <br />
      Seleziona un quartiere:<br />
      <select id="quartieri">
    <option>Scegli...</option>
  </select>
      <br>
      <input name="submit" type="submit" id="submit" value="conferma"/>
    </form>
Pagina risultato.php
Codice:
<body>
<?php
echo $comune;
echo $provincia;	
echo $quartiere;
?>
</body>
Dove sbaglio?
Grazie
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, non capisco cosa vuoi fare
al click del pulsante vorresti aprirre una pagina con le scelte effettuate nelle select?
PHP:
<?php
$comune = $_POST['comuni'];
$provincia = $_POST['province'];
$quartiere = $_POST['quartieri'];

echo $comune;
echo $provincia;	
echo $quartiere;
?>