Visualizzazione risultati 1 fino 11 di 11

Discussione: inserire del testo (cliccandolo) in delle caselle di testo! possibile?

  1. #1
    pipe non è connesso Neofita
    Data registrazione
    19-07-2014
    Messaggi
    7

    Predefinito inserire del testo (cliccandolo) in delle caselle di testo! possibile?

    ciao a tutti
    avrei bisogno di un aiuto sperando che si possa fare quello che sto per chiedere!
    con una query SELECT...
    seleziono determinati campi dal DB e li visualizzo nella pagina grazie al seguente codice
    ( echo "<tr><td>".$cicle['numero']." ".$cicle['nome']."</td></tr>";)
    in questo modo:

    numero nome;
    numero nome;
    ...


    vorrei che le voci dell'elenco fossero cliccabili e che al loro click fossero inseriti in due textbox!! separando il nome dal numero! come posso fare?
    grazie a tutti

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Devi usare JavaScript, in particolare consiglio la libreria jQuery.

    Per separare nome e numero il modo più semplice e diretto che mi viene in mente è aggiungere due attributi personalizzati all'oggetto cliccabile (che nel tuo caso è il <td/>). Per praticità si assegnano la classe selezionabile all'oggetto cliccabile e gli id textbox_numero e textbox_nome alle textbox da popolare.

    Un punto di partenza potrebbe essere:
    Codice HTML:
    ...
    <input type="text" id="textbox_numero" value="">
    <input type="text" id="textbox_nome" value="">
    ...
    <tr>
      <td class="selezionabile" data-numero="52" data-nome="mio_nome">52 mio_nome</td>
    </tr>
    ...
    
    <!-- Questo script usa jQuery: ricordati di includerne la libreria. -->
    <script>
    $(function () {
      $('.selezionabile').click(function () {
        var numero = $(this).attr('data-numero');
        var nome = $(this).attr('data-nome');
    
        $('#textbox_numero').val(numero);
        $('#textbox_nome').val(nome);
      });
    });
    </script>
    Controlla la presenza di errori sintattici, questo è solo per darti un'idea.

    Volutamente non c'è traccia di PHP nel codice, perché il risultato che vuoi ottenere dipende unicamente [dal JavaScript e] dalla struttura HTML, non dal modo con cui questa è generata (che può essere o meno PHP).

    Considerazione a parte: dal modo in cui la stai generando, sembra che una tabella non sia l'elemento giusto da usare. Ad occhio sembra più il caso d'uso di una lista, ma può darsi che sia un'impressione sbagliata.
    Presta attenzione anche ai nomi delle variabili nel PHP, in modo da ridurre il rischio di fare confusione: quella che hai chiamato $cicle non è un "ciclo", ma piuttosto una "riga", o "record", o "entry", o "item" nella base di dati.

  3. #3
    pipe non è connesso Neofita
    Data registrazione
    19-07-2014
    Messaggi
    7

    Predefinito

    ciao e grazie mille per avermi risposto!
    purtroppo non essendo per nulla esperto (riesco a fare delle semplici interrogazioni al mysql con php) non ho ben capito come devo muovermi...
    scrivo il codice del mio form cosi se ne hai voglia puoi farmi vedere come dovrei modificarlo per fare in modo che il JavaScript funzioni... almeno se ho capito come dovrebbe funzionare il tutto..

    Codice HTML:
    <form  action = "INTO_data.php" method = "POST">
          
           <p>
            
               <input name="nome_paziente" type="text" placeholder="Nome e Cognome" id="nome_paziente" size="15" maxlength="20"   />
               </label>
               <label>
               <input name="numero_paziente" type="text" id="numero_paziente" size="15" placeholder="Numero Telefonico"/>
               </label>
           </p>
         <p>
               <input type="submit" name="invia" id="invia" value="Invia" />
             </p>
         </form>
    ovviamente le textbox in cui vorrei inserire ciò che seleziono cliccando sono le ultime due prima del bottone "invia".

    nella stessa pagina dopo qst form c'è l'interrogazione che faccio al DB con il seguente script
    Codice PHP:
    $query = mysql_query("SELECT DISTINCT `numero_paziente`,`nome_paziente` FROM `my_pipe`.`appuntamenti` WHERE `user_ID` = '$user_ID'");
    while(
    $cicle=mysql_fetch_array($query)){

    echo
    "<tr><td>".$cicle['numero_paziente']." ".$cicle['nome_paziente']."</td></tr>";
    }
    la risposta alla query la visualizzo con questo echo che mi tira fuori una colonna di risultati
    "numero nome"
    bisogna fare delle modifiche anche all' echo?? quali? come?


    grazie mille per l'aiuto ! spero di riceverne altro!

    ciao
    Piero
    Ultima modifica di pipe : 21-10-2017 alle ore 22.19.36

  4. #4
    pipe non è connesso Neofita
    Data registrazione
    19-07-2014
    Messaggi
    7

    Predefinito

    ho eseguito le seguenti prove senza alcun risultato...

    - ho scaricato il JQuery3.2.1 e messo nella stessa cartella in cui ho messo la pagina
    - inserito all'interno della pagina il seguente codice per richiamare il jQuery scaricato:
    Codice HTML:
    <script src="jquery-3.2.1.js"></script>
    - modificato ed inserito nella pagina subito dopo il form lo script che mi hai dato:
    Codice HTML:
    <script>
    $(function () {
      $('.selezionabile').click(function () {
        var numero_paziente = $(this).attr('data-numero_paziente');
        var nome_paziente = $(this).attr('data-nome_paziente');
    
        $('#numero_paziente').val(numero_paziente);
        $('#nome_paziente').val(nome_paziente);
      });
    });
    </script>
    cercando di ottimizzarlo per gli id dati alle mie caselle di testo...
    da qualche parte ho sbagliato perchè non ci sono stati miglioramenti...


    help me please!!!

  5. #5
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    La echo deve produrre un risultato nella forma
    Codice HTML:
    <tr>
      <td class="selezionabile" data-numero_paziente="52" data-nome_paziente="mio_nome">52 mio_nome</td>
    </tr>
    quindi va modificata così:
    Codice PHP:
    while ($cicle = mysql_fetch_array($query)) {
    $numero = $cicle['numero_paziente'];
    $nome = $cicle['nome_paziente'];
    echo
    "<tr><td class='selezionabile' data-numero_paziente='$numero' data-nome_paziente='$nome'>$numero $nome</td></tr>";
    }
    Come ti dicevo controlla la presenza di errori sintattici nel JavaScript, magari usando la console del browser.

  6. #6
    pipe non è connesso Neofita
    Data registrazione
    19-07-2014
    Messaggi
    7

    Predefinito

    ciao
    ho sostituito il codice ma non cambia nulla! la lista nome numero che genero dopo la query NON è cliccabile!
    problema dovuto a cosa second te? al java script? e come posso fare? come posso controllare la presenza di errori sintattici nel javaScript?
    perdonami ma tante cose non le so...

  7. #7
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    come posso controllare la presenza di errori sintattici nel javaScript?
    magari usando la console del browser.
    console del browser

    Riguardandoci bene, però, è più semplice creare uno <span/> cliccabile, piuttosto che un <td/>. Senza modificare il JavaScript, prova ad intervenire solo sulla struttura HTML in questo modo:
    Codice HTML:
    <tr>
      <td>
        <span class="selezionabile" data-numero_paziente="52" data-nome_paziente="mio_nome">52 mio_nome</span>
       </td>
    </tr>
    Che con il tuo PHP si traduce in:
    Codice PHP:
    while ($cicle = mysql_fetch_array($query)) {
    $numero = $cicle['numero_paziente'];
    $nome = $cicle['nome_paziente'];
    echo
    "<tr><td><span class='selezionabile' data-numero_paziente='$numero' data-nome_paziente='$nome'>$numero $nome</span></td></tr>";
    }

  8. #8
    pipe non è connesso Neofita
    Data registrazione
    19-07-2014
    Messaggi
    7

    Predefinito

    niente! nn ci riesco! forse è troppo per le mie misere conoscenze informatiche..
    se ti va posso passarti l'intera pagina e provi a farlo così io poi vedo come si doveva fare e quindi potrei capire in cosa sbagliavo, altrimenti GRAZIE lo stesso per l'aiuto!

    ciaoo

  9. #9
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Ci sarà quasi sicuramente una virgola fuori posto o una svista del genere.
    Passami pure la pagina nel modo che preferisci.

  10. #10
    pipe non è connesso Neofita
    Data registrazione
    19-07-2014
    Messaggi
    7

    Predefinito

    Sì infatti! Era un _paziente che avevo dimenticato di inserire! Ora va!
    Grazie

  11. #11
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Ben fatto !

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •