Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Php e radio button

  1. #1

    Php e radio button

    Buonasera a tutti,
    dovrei a secondo della scelta tramite radio button effettuare una query nel database... Non riesco a passare il valore del radio button contenuto nel form alla variabile presente nel file php in cui dovrei fare la query (codice 2)... mi potreste dare una mano gentilmente?

    Vi scrivi i pezzi di codice:

    codice:
    <form name="ricerca" >
       <table>
          <tr>
    	<td rowspan="2">Ricerca <input type="text" id="txt1" onkeyup="showRicerca(this.value)" /></td>
    	<td><input type="radio" name="tipoRic" value="1" onclick="check_form(this.value);" checked="checked">Codice</td>
    					</tr>
    					<tr>
    						<td><input type="radio" name="tipoRic" value="2" onclick="check_form(this.value);">Descrizione</td>
    					</tr>
    			</table>
    		</form>
    Codice 2 :

    Codice PHP:
    <?php
        
    //Includo i parametri di accesso al DB
        
    require_once('config.php');
        
        
    //Array errori
        
    $errmsg_arr = array();

        
    //Flag errore
        
    $errflag false;

        
    $q=$_GET["q"];
        
    //Connessione al db
        
    $link mysql_connect(DB_HOSTDB_USERDB_PASSWORD);
        if(!
    $link) {
            die(
    'La connessione al server è fallita: ' mysql_error());
        }

        
    //Seleziono il database
        
    $db mysql_select_db(DB_DATABASE);
        if(!
    $db) {
            die(
    "Impossibile selezionare il database");
        }    

            
    $sql="SELECT * FROM Fornitore WHERE codice = '".$q."'";

            
    $result mysql_query($sql);
            
    $num_rows mysql_num_rows($result);

            if (
    $num_rows != 0){
                echo 
    "<table class=\"sample\">
                        <tr>
                            <th>Cod. For.</th>
                            <th>Descrizione</th>
                        </tr>"
    ;
                    while(
    $row mysql_fetch_array($result))
                {
                    echo 
    "<tr>";
                    echo 
    "<td ALIGN=\"center\">" $row['codice'] . "</td>";
                    echo 
    "<td>" $row['descrizione'] . "</td>";
                    echo 
    "</tr>";
                }
                echo 
    "</table>";
        } else {
            echo 
    "

    Nessun risultato disponibile.</p>"
    ;
        }
            
    mysql_close($link);
    ?>
    il file javascript in cui verifico il radio selezionato:

    codice:
     function check_form() {
    var bottone = document.ricerca.tipoRic; // gruppo di radio button
    	for(var i=0; i<bottone.length; i++) { // uso bottone.length per sapere quanti radio button ci sono
    	  if(bottone[i].checked) { // scorre tutti i vari radio button
    		var valore = bottone[i].value; // valore button scelto
    		alert("Selezionata la variabile "+valore); //visualizza il valore scelto
    	  }
    	}
    
    }

    Grazie.

  2. #2

  3. #3
    Originariamente inviato da filippo.toso
    Il campo si chiama tipoRic mentre tu tenti di accedervi con $_GET["q"]

    In ogni caso: http://php.html.it/articoli/leggi/89...sql-injection/
    La variabile "q" non c'entra con i radio button... infatti in q assegno il valore del testo da ricercare...

  4. #4

    Mi spiego meglio:
    Nella textbox, vorrei poter ricercare un fornitore attraverso il codice oppure tramite la descrizione. Non riesco a dare il valore contenuto nel radio button ad una variabile nel file php (codice 2).

  5. #5
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530
    Se il "rimpallo" avviene tra due file/pagine differenti, allora bisogna specificare l' URL di destinazione in FORM ACTION="paginaricevente.php" nella pagina di partenza.
    D' accordo che se non specifichiamo il METHOD="" questo sarà Get di default.

    Poi ci vorrà qualcosa che da' esecuzione al form, o un INPUT TYPE="Submit" nello stesso FORM, o document.ricerca.submit(); al termine di una function per eseguire l' invio tramite JavaScript.

    1) Posso supporre che non hai trascritto quanto sopra per concisione.
    2) Oppure che non è un SUBMIT che dobbiamo fare ma un REDIRECT in JavaScript.
    Assunto ciò:

    Caso 1) - Salva questi due file e vedi se ti ci ritrovi:

    Sul Server, salva questo come pagina-A.htm (o .php)
    codice:
    <html>
    <head><title>Pagina A</title>
    
    </head><body>
    
    <form name="ricerca" action="pagina-B.php" method="get">
    <table><tr>
     <td rowspan="2">Ricerca <input type="text" id="txt1" onkeyup="showRicerca(this.value)" /></td>
     <td><input type="radio" name="tipoRic" value="1" checked="checked">Codice</td>
     </tr><tr>
     <td><input type="radio" name="tipoRic" value="2"                  >Descrizione</td></tr>
    </table>
           <input value="INVIA" type="submit">
    </form>
    
     
    </body>
    </html>
    e in quest' altro che salvi come pagina-B.php appare il Valore della Radio selezionata:
    Codice PHP:
    <html>
    <head><title>Pagina B</title>

    </head><body>

    <?php

          $switch 
    $_GET['tipoRic'];

    print(
    $switch);

    print(
    '
    '
    );

    ?>
     
    </body>
    </html>

    Caso 2) -Altra eventualità è se demandi la gestione della variabile in uscita, a JavaScript.
    Allora invece di un .submit() vuoi avere:

    window.location.href = "pagina-B.php?tipoRic=" + valore + "";

    dove valore lo ricavi ciclando sui Radio come giustamente già hai fatto.
    E vedi che in barra indirizzi ti compare l' url magicamente seguito dalla variabile che vuoi recuperare. Solo con $_GET ovviamente; non possiamo nutrire un $_POST con JavaScript.

  6. #6
    Grazie Enzaccio per la delucidazione...
    Però ho risolto diversamente....
    ho creato 2 file per la ricerca per codice e per descrizione... con jquery a seconda della scelta faccio apparire la tabella che mi serve

    Grazie ancora ciaoo...

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.