Estrazione dati da un db con un menu selezione in cascata

Discussione in 'PHP' iniziata da usernam47, 21 Novembre 2012.

  1. usernam47

    usernam47 Nuovo Utente

    Registrato:
    21 Novembre 2012
    Messaggi:
    7
    Mi Piace Ricevuti:
    0
    Punteggio:
    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
     
  2. borgo italia

    borgo italia Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    4 Febbraio 2008
    Messaggi:
    16.019
    Mi Piace Ricevuti:
    146
    Punteggio:
    63
    Sesso:
    Maschio
    Località:
    PR
    Home Page:
    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
     
  3. usernam47

    usernam47 Nuovo Utente

    Registrato:
    21 Novembre 2012
    Messaggi:
    7
    Mi Piace Ricevuti:
    0
    Punteggio:
    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: 21 Novembre 2012
  4. criric

    criric Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    21 Agosto 2010
    Messaggi:
    5.607
    Mi Piace Ricevuti:
    54
    Punteggio:
    48
    Sesso:
    Maschio
    Località:
    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
     
  5. Andrea Araci

    Andrea Araci Nuovo Utente

    Registrato:
    16 Aprile 2013
    Messaggi:
    2
    Mi Piace Ricevuti:
    0
    Punteggio:
    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
     
  6. Andrea Araci

    Andrea Araci Nuovo Utente

    Registrato:
    16 Aprile 2013
    Messaggi:
    2
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    nessun aiuto???
     
  7. criric

    criric Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    21 Agosto 2010
    Messaggi:
    5.607
    Mi Piace Ricevuti:
    54
    Punteggio:
    48
    Sesso:
    Maschio
    Località:
    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;
    ?>
     
Sto caricando...

Condividi questa Pagina