Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Problema con radio

  1. #1

    Problema con radio

    Ciao a tutti...
    Ho cercato delle soluzioni su internet al mio problema ma apparentemente non ho trovato niente!
    Ora vi spiego il problema. Ho una pagina php nel quale l'utente deve stabilire dei criteri di ricerca. Qui ha un menu a tendina dal quale scegliere una voce e vorrei che in base alla voce scelta venisse checkatto un radio.
    Come posso fare?
    Vi posto il codice della pagina...
    Spero di essere stata chiara...
    Help me!!!

    Codice PHP:
    <html> 
        <body> 
        <?php 
        session_start
    (); 
        
    $utente=$_SESSION['utente']; 
        
    $_SESSION['pass']; 
        
    $cod_utente=$_SESSION['cod_utente']; 
        
    $sede_utente=$_SESSION['sede_utente']; 
        
    $des_sede_utente=$_SESSION['des_sede_utente']; 
        
    $macro=$_SESSION['macro']; 
                 
        
    $con=oci_connect("xxx""xxx""x.x.x"); 
             
        echo(
    "<table>"); 
        echo(
    "<tr><td align='center' colspan='2'>Ricerca che mostra l'elenco degli esami dell'Istituto</td></tr>"); 
        echo(
    "<tr><td align='center' colspan='2'></td></tr>"); 
        echo(
    "<tr><td align='left' colspan='2'></td></tr>"); 
                 echo(
    "<form action='tra_eei.php' method='POST'>"); 
        echo(
    "<tr><td align='right' width='200'>
    Laboratorio 
    </td>"
    ); 
        
    $queryLAB=oci_parse($con,"select distinct laboratorio, deslaboratorio, interno from cons_elenco_esami_area_lab order by laboratorio"); 
                 
    oci_execute($queryLAB); 
        
    $i=0
        while((
    $riga=oci_fetch_array($queryLABOCI_NUM OCI_RETURN_NULLS))){ 
            
    $codlaboratorio[$i]=$riga[0]; 
            
    $deslaboratorio[$i]=$riga[1]; 
            
    $interno[$i]=$riga[2]; 
            
    $i++; 
        } 
        
    $totale_lab=sizeof($codlaboratorio); 
        echo(
    "<td align='left' width='300'>
    <select name='lab_richiesto' width='80'>"
    ); 
        echo(
    "<option value=''>TUTTI
    "
    ); 
        for(
    $j=0;$j<$totale_lab;$j++){ 
            echo(
    "<option value='".$codlaboratorio[$j]."'>".$codlaboratorio[$j]."-".$deslaboratorio[$j]."
    "
    ); 
        } 
        echo(
    "</select>
    </td></tr>"
    ); 
        echo(
    "<tr><td align='right'>
    Codice Esame 
    </td><td align='left'>
    <input type='text' maxlength='10' name='codesame_richiesto'>
    </td></tr>"
    ); 
        echo(
    "<tr><td align='right'>
    Descrizione Esame 
    </td><td align='left'>
    <input type='text' maxlength='50' name='desesame_richiesto' width='200'>
    </td></tr>"
    ); 
        echo(
    "<tr><td align='center' colspan='2' rowspan='2'>Laboratori Interni <input type='radio' name='interno' value='S' checked> Laboratori Esterni <input type='radio' name='interno' value='N'>"); 
        echo(
    "
     Laboratori Interni ed Esterni <input type='radio' name='interno' value=''></td></tr>"
    ); 
        echo(
    "</tr>"); 
        echo(
    "<tr><td align='center' colspan='2'><input class='bottone' type='submit' value='Effettua ricerca'></td></tr></form>"); 
        echo(
    "</table>"); 
        
    oci_close($con); 
    ?> 
    </body> 
    </html>

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova a postare l'html (no php) del form/pagina cosi è incomprensibile capire la logica associativa option > radio
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    codice:
    <select name='lab_richiesto'>
    <option value=''>TUTTI
    
    for($j=0;$j<$totale_lab;$j++){
    	echo("<option value='".$codice_lab."'>".$descr_lab."
    ");		
    }
    </select>
    Codice Esame <input type='text' maxlength='10' name='codesame_richiesto'>
    Descrizione Esame <input type='text' maxlength='50' name='desesame_richiesto'>
    Laboratori Interni <input type='radio' name='interno' value='S' checked> 
    Laboratori Esterni <input type='radio' name='interno' value='N'>
    Laboratori Interni ed Esterni <input type='radio' name='interno' value=''>
    Così va meglio???

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Visto che non ci capiamo, ti saluto e ti auguro di risolvere.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    In pratica il laboratorio può essere interno, esterno o entrambi.

    Per selezionare il radio giusto assegna una funzione all'evento onchange del menu a tendina:
    <select name='lab_richiesto' onchange="checkradio(this.value)">
    ("this.value" conterrà il codice del laboratorio selezionato)

    per selezionare il radio giusto, all'interno della funzione checkradio puoi usare l'istruzione:
    document.getElementById('iddelradio').checked=true ;

    Naturalmente dovrai assegnare degli id univoci ai tre campi radio:
    Laboratori Interni <input type='radio' name='interno' value='S' checked id="yes">
    Laboratori Esterni <input type='radio' name='interno' value='N' id="no">
    Laboratori Interni ed Esterni <input type='radio' name='interno' value='' id="both">


    All'interno della funzione "checkradio" conosciamo solo il codice del laboratorio, se i laboratori sono delle entità statiche (non si possono aggiungere o togliere laboratori, per intenderci) potresti usare un array bidimensionale, nella funzione "checkradio" con i codici dei laboratori e la rispettiva appartenenza.

    In alternativa si potrebbe passare direttamente il dato alla funzione:

    echo("<option value='".$codice_lab."'>".$descr_lab."
    ");
    diventerebbe
    echo("<option value='"$locazione."|".$codice_lab."'>".$descr_lab ."
    ");

    quindi il value della option conterrebbe due informazioni separate dal pipe, esplodendo puoi gestire i due valori sia in javascript che in php.

  6. #6
    Ti ringrazio infinitamente per la tua risposta ma forse avrei dovuto specificare due cose:
    1-Non conosco per niente Javascript,
    2-In base alla scelta del laboratorio voglio che venga checkatto un radio piuttosto che un altro ma questa corrispondenza posso trovarla soltanto tramite una query sulla tabella del db!
    Quindi come posso fare?
    Io fin'ora seguendo le tue istruzioni ho scritto questo:

    Codice PHP:
    <script>
     function  checkradio ()
     {
      document.getElementById('iddelradio').checked=true;
     }
    </script>
    <body>
    <?php
    <form action='tra_eei.php' method='POST'>
    Laboratorio <select name='lab_richiesto' width='80' onchange='checkradio(this.value)'>
    <
    option value=''>TUTTI

    for($j=0;$j<$totale_lab;$j++){
    <
    option value='".$codlaboratorio[$j]."'>".$codlaboratorio[$j]."-".$deslaboratorio[$j]."
    "
    }
    </select>
    Codice Esame <input type='text' maxlength='10' name='codesame_richiesto' width='500' checked>
    Descrizione Esame <input type='text' maxlength='50' name='desesame_richiesto' width='200'>
    Laboratori Interni <input type='radio' name='interno' value='S' checked  id='yes'>
    Laboratori Esterni <input type='radio' name='interno' value='N' id='no'>
    Laboratori Interni ed Esterni <input type='radio' name='interno' value='' id='both'>

  7. #7
    Ti ringrazio infinitamente per la tua risposta ma forse avrei dovuto specificare due cose:
    1-Non conosco per niente Javascript,
    2-In base alla scelta del laboratorio voglio che venga checkatto un radio piuttosto che un altro ma questa corrispondenza posso trovarla soltanto tramite una query sulla tabella del db!
    Quindi come posso fare?
    Io fin'ora seguendo le tue istruzioni ho scritto questo:

    Codice PHP:
    <script>
     function  checkradio ()
     {
      document.getElementById('iddelradio').checked=true;
     }
    </script>
    <body>
    <?php
    <form action='tra_eei.php' method='POST'>
    Laboratorio <select name='lab_richiesto' width='80' onchange='checkradio(this.value)'>
    <
    option value=''>TUTTI

    for($j=0;$j<$totale_lab;$j++){
    <
    option value='".$codlaboratorio[$j]."'>".$codlaboratorio[$j]."-".$deslaboratorio[$j]."
    "
    }
    </select>
    Codice Esame <input type='text' maxlength='10' name='codesame_richiesto' width='500' checked>
    Descrizione Esame <input type='text' maxlength='50' name='desesame_richiesto' width='200'>
    Laboratori Interni <input type='radio' name='interno' value='S' checked  id='yes'>
    Laboratori Esterni <input type='radio' name='interno' value='N' id='no'>
    Laboratori Interni ed Esterni <input type='radio' name='interno' value='' id='both'>

  8. #8
    Ciao Saretta, figurati.. è un piacere..
    Per eseguire questa query sulla tabella del db è sufficiente il codice del laboratorio o sono necessarie altre informazioni?

  9. #9
    Basta il codice del laboratorio...la query è questa:
    "select distinct interno from cons_elenco_esami_area_lab where laboratorio='(quello scelto dal menu a tendina)' "

    Il risultato della query può essere S o N se è S il radio si deve essere checkato su Laboratori Interni (che ha come id S ed checked di default) altrimenti su Laboratori Esterni (che ha come id N).

  10. #10
    Perfetto, possiamo fare una richiesta ajax.
    Prepara una paginetta PHP che prende in ingresso il codice di un laboratorio (tramite querystring, ad sempio lab_location.php?idlaboratorio=12) e stampi a video (echo) S oppure N.
    N.B.: La pagina lab_locatio.php non deve contenere i tag HTML usuali come <html>,<head>,<body>,ecc. deve restituire (stampare a video) solo una S o una N.

    P.S.: e per i "Laboratori Interni ed Esterni" come ci regoliamo (la terza radio)?

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.