Pagina 1 di 6 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 52
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    47

    selezionare un campo da un db con radio button

    salve a tutti,
    spero mi possiate aiutare in un mio grattacapo che non sto riuscendo a venirne a capo, spiego la situazione:
    Ho un form che contiene un tasto di ricerca che filtra i dati dal db tramite la scelta della citta del distributore e tutto quì funziona, alla stessa query stavolta tramite dei radio button deve selezionare un altro attributo del db che sceglie il tipo di carburante, ma non riesco a capire come prendere il dato dal radio button e metterlo nella query per fare un altro ulteriore filtraggio.

    Codice html per il form contenente il tasto di ricerca e i radio button:

    codice HTML:
    ...
    <body>
    
    <form class="form-horizontal" role="form" method="get">
                        <div class="form-group">
                            <label class="col-sm-2 control-label" for="name">Città Distributore</label>
                            <div class="input-group col-sm-8">
                                <input id="name" name="name" type="text" class="form-control" placeholder="Inserisci la città" />
                                <span class="input-group-btn">
                                        <button type="button" class="btn btn-default btnSearch">
                                            <span class="glyphicon glyphicon-search"> Search</span>
                                        </button>
                                </span>
                            </div>
                        
                        </div>
                    <form class="form-horizontal" role="form" method="get">
                        <fieldset>
                            <legend>Scegli il carburante</legend>
                            Benzina <input type="radio" name="nomeCarburante" value="benzina"/>
                            Diesel  <input type="radio" name="nomeCarburante" value="diesel"/>
                            GPL <input type="radio" name="nomeCarburante" value="gpl"/>
                            Metano <input type="radio" name="nomeCarburante" value="metano"/>
                            Benzina SP  <input type="radio" name="nomeCarburante" value="benzina SP"/>
                            Diesel SP <input type="radio" name="nomeCarburante" value="diesel SP"/>
                            
                            
                        </fieldset>
                    </form>
                    
                    </form>
    
    </body>
    codice php per prelevare i dati dal form del tasto di ricerca ancora manca il codice per prelevare i dati dai radio button:

    Codice PHP:
    require_once 'Connection.simple.php';
        
    $conn dbConnect();
        
    $OK true// We use this to verify the status of the update.
        // If 'buscar' is in the array $_POST proceed to make the query.
        
    if (isset($_GET['name'])) {
            
    // Create the query
            
    $data "%".$_GET['name']."%";
            
      
    $sql 'SELECT d.nomeDistributore,d.indirizzo,d.citta,d.provincia,d.tipologia,
                           c.nomeCarburante,f.prezzo,f.dataArrivo, s.disponibile
                FROM distributore d, carburante c, fornitura f, servire s
                WHERE d.idDistributore=s.idDistributore and d.idDistributore=f.idDistributore and
                          c.idCarburante=f.idCarburante  and d.citta like? 
                order by f.prezzo'
    ;
            
    // we have to tell the PDO that we are going to send values to the query
            
    $stmt $conn->prepare($sql);
            
    // Now we execute the query passing an array toe execute();
            
    $results $stmt->execute(array($data));
            
    // Extract the values from $result
            
    $rows $stmt->fetchAll();
            
    $error $stmt->errorInfo();
            echo 
    $error[2];
            
        }
             
        
        
    // se non ci sono records.
        
    if(empty($rows)) {
            echo 
    "<tr>";
                echo 
    "<td colspan='8'>Non ci sono records</td>";
            echo 
    "</tr>";
        }
        else {
            foreach (
    $rows as $row) {
                echo 
    "<tr>";
                    echo 
    "<td>".$row['nomeDistributore']."</td>";
                    echo 
    "<td>".$row['indirizzo']."</td>";
                    echo 
    "<td>".$row['citta']."</td>";
                    echo 
    "<td>".$row['provincia']."</td>";
                    echo 
    "<td>".$row['tipologia']."</td>";
                    echo 
    "<td>".$row['nomeCarburante']."</td>";
                    echo 
    "<td>".$row['prezzo']."</td>";
                    echo 
    "<td>".$row['dataArrivo']."</td>";
                    echo 
    "<td>".$row['disponibile']."</td>";
                echo 
    "</tr>";
            }
        } 
    alla query che restituisce i dati opportuni con la selezione della citta distributore tramite il like devo aggiungere una selezione del tipo c.nomeCarburante='scelta dei radio button'
    come posso fare? ho provato in diversi modi ma non funziona, mi date una mano per piacere, grazie
    Ultima modifica di tokyo74; 15-07-2014 a 11:35

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    47
    Quote Originariamente inviata da F@bius Visualizza il messaggio
    Ricavalo da $_GET['nomeCarburante'].
    si questo si capisce, dichiaro una variabile e ci passo $_GET['nomeCarburante'], ma poi coma la passo alla query, perchè se scrivo c.nomeCarburante='$radio' mi dà errore, dove
    $radio= $_GET['nomeCarburante']
    e poi funziona? solo così capisce il valore che scelgo di radio button, siccome leggevo in giro una miriade di cose, ma a me basta una soluzione semplice php-html, non è obligatorio che devo usare jquery, javascript ecc, no?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    47
    Quote Originariamente inviata da F@bius Visualizza il messaggio
    Stampa a video il valore che passi per verificare che sia corretto.
    Alla query lo aggiungi semplicemente memorizzando prima il valore passato in $_GET e componendo la query dopo, come hai già indicato.
    ho scritto:
    Codice PHP:
    if(isset($_GET['nomeCarburante']))
            {
            
    $radio $_GET['nomeCarburante'];
            echo(
    'Radio Button scelto: ' $radio);
            } 
    ma non succede nulla, dove sbaglio?

  4. #4
    Come mai hai due form annidati?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    47
    in effetti non vi è bisogno può andare meglio così o metto i radio botton direttamente dentro il div del form?
    codice HTML:
    <div class="mainContent">
                    <form class="form-horizontal" role="form" method="get">
                        <div class="form-group">
                            <label class="col-sm-2 control-label" for="name">Città Distributore</label>
                            <div class="input-group col-sm-8">
                                <input id="name" name="name" type="text" class="form-control" placeholder="Inserisci la città" />
                                <span class="input-group-btn">
                                        <button type="button" class="btn btn-default btnSearch">
                                            <span class="glyphicon glyphicon-search"> Search</span>
                                        </button>
                                </span>
                            </div>
                        
                        </div>
                    
                        <fieldset>
                            <legend>Scegli il carburante</legend>
                            Benzina <input type="radio" name="nomeCarburante" value="benzina"/>
                            
                            Diesel  <input type="radio" name="nomeCarburante" value="diesel"/>
                            GPL <input type="radio" name="nomeCarburante" value="gpl"/>
                            Metano <input type="radio" name="nomeCarburante" value="metano"/>
                            Benzina SP  <input type="radio" name="nomeCarburante" value="benzina SP"/>
                            Diesel SP <input type="radio" name="nomeCarburante" value="diesel SP"/>
                            
                            
                        </fieldset>
                    
                    
                    </form>

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    47
    In effetti così è lo stesso risultato. se metto dentro il div sballa tutto. E' da un paio di settimane che mi sono avvicinato ai linguaggi del web, html,css,php,jquery,javascript ecc. al momento cerco di capire copiando e riadattando codice preso dalla rete per il mio scopo, era andato liscio sino a questo problema dei radio button che non sto riuscendo a farli funzionare

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    47
    quando scelgo il valore del radio button non succede nulla, mi dovrebbe stampare a video il valore se veramente sta funzionando?
    e poi come detto sopra, non riesco a passare il valore per la query perchè se uso la variabile mi segnala errore di sintassi.
    L'action nel form perchè? come?

    il pezzo di query è questa al quale aggiungere il passaggio del valore dei radio button:

    Codice PHP:
    $sql 'SELECT d.nomeDistributore,d.indirizzo,d.citta,d.provincia,d.tipologia,
                           c.nomeCarburante,f.prezzo,f.dataArrivo, s.disponibile
                FROM distributore d, carburante c, fornitura f, servire s
                WHERE d.idDistributore=s.idDistributore and d.idDistributore=f.idDistributore and
                          c.idCarburante=f.idCarburante and c.nomeCarburante='
    valore radio button'           and d.citta like? 
    Ultima modifica di tokyo74; 15-07-2014 a 19:04

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    47
    allora alla form ho aggiunto:
    codice HTML:
    <legend>Scegli il carburante</legend>
                            Benzina <input type="radio" name="radio" value="benzina" checked onclick="this.form.submit()"/>
                            Diesel  <input type="radio" name="radio" value="Diesel" onclick="this.form.submit()"/>
                            GPL <input type="radio" name="radio" value="GPL" onclick="this.form.submit()"/>
                            Metano <input type="radio" name="radio" value="Metano" onclick="this.form.submit()"/>
                            Benzina SP  <input type="radio" name="radio" value="Menzina SP" onclick="this.form.submit()"/>
                            Diesel SP <input type="radio" name="radio" value="Diesel SP" onclick="this.form.submit()"/>
                            <input type=submit value=invia name=submit />
    e dal lato php:
    Codice PHP:
    if(isset($_GET['radio']))
            {
                
    $radio=$_GET['radio'];
                echo(
    'Radio Button scelto: ' $radio);
            } 
    ma nulla non funziona, quando clicco sul radio button e poi invia non succede nulla, quanto meno non dovrebbe comparire il valore associato al radio button? dove sbaglio?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    47
    tabella.jpg

    ecco cosa dovrei fare nel concreto, con la prima parte della query tramite il tasto di ricerca collegato al like inserisco la citta che voglio filtrare, poi agendo sui radio button scelgo su questo risultato il carburante, ma non sto riuscendo a prendere i valori dai radio button e passarli alla query sql

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    47
    non vedi l'action nel form perchè l'ho gestisco con jquery e ajax, ma questo per quando riguarda il search.php che corrisponde al tasto di ricerca, quindi per poter gestire i radio button lo posso fare o sempre con jquery o con l'action nel form, ma non ho capito come, nel senso è meglio creare un altro file che chiamo radio.php? o posso usare sempre il file search.php? dato che la query in questione si trova nel search.php e deve prendere poi anche il valore dei radio button...come meglio procedere?

    codice HTML:
    ...
    ...
    
    <script type="text/javascript">
            jQuery(document).ready(function($) {
                $('.btnSearch').click(function(){
                    makeAjaxRequest();
                });
    
                $('form').submit(function(e){
                    e.preventDefault();
                    makeAjaxRequest();
                    return false;
                });
    
                function makeAjaxRequest() {
                    $.ajax({
                        url: 'php/search.php',
                        type: 'get',
                        data: {name: $('input#name').val()},
                        success: function(response) {
                            $('table#resultTable tbody').html(response);
                        }
                    });
                }
            
         
        
            });
        
        </script>
    </body>
    Ultima modifica di tokyo74; 16-07-2014 a 07:56

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.