Visualizzazione risultati 1 fino 7 di 7

Discussione: php creazione button in base a variabile get

  1. #1
    Guest

    Exclamation php creazione button in base a variabile get

    Salve, avrei bisogno di creare in php uno script che, in base al testo inserito in un textbox, crei per ogni elemento inserito nel box un form con presenti dei button che contengono il testo inserito nel precedente textbox.

    Mi spiego meglio con un esempio:
    l'utente inserisce dei nomi del textbox es: Maria,Carlo,Angelo,Corrado,Alberto
    I dati vengono passati tramite variabile GET.

    Nella pagina successiva si devono creare i 5 button contenenti i nomi inseriti in precedenza.
    Io pensavo di creare un array, però non riesco a far creare i button in base alla quantità di nomi inseriti.
    Qualcuno riuscirebbe a darmi una mano nella progettazione?
    Grazie mille!

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    L'idea dell'array è corretta: utilizzando explode() otterrai un array con ogni elemento una voce.

    A questo punto con un ciclo (es. un foreach()) puoi scrivere con la echo il textbox che vuoi per ogni elemento.
    Se non riesci fammi sapere, mostrando anche il test che hai fatto.

    p.s: il tutto è fattibile anche con javascript senza andar a richiamare il server.

    Ciao!

  3. #3
    Guest

    Predefinito

    Grazie per la risposta.
    Ho provato così, però mi da errore sulla riga 4
    Codice PHP:
    <?php
    $prodotti
    = array(explode(",",$_GET['prodotti']));
    foreach (
    $prodotti as $prodotto ) {
    echo
    '<input class="MyButton" type="button" onclick="test.location.href="print.php?prodotto=' .$prodotto. '";document.getElementById("test").frameBorder=0" value="' .$prodotto. '"><br>';
    }
    ?>
    <iframe src="javascript:void(0)" frameborder="0" name="test" id="test" width=500px height=200px></iframe>
    Ora non riesco a capire quale sia il problema
    Ultima modifica di alemoppo : 05-05-2018 alle ore 20.27.42 Motivo: +tag

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    explode() restituisce già un array, elimina array() che hai messo prima della explode.

    Ciao!

  5. #5
    Guest

    Predefinito

    Ottimo! Adesso funziona.
    Per chi ne avesse bisogno, inserisco qui il codice da me utilizzato:
    Codice PHP:
    <?php $prodotto = explode(",",$product);
    foreach (
    $prodotto as $prod ) {
    echo
    '<p><input class="MyButton" type="button" value="' .$prod. '"><br></p>
    '
    ;
    }
    ?>
    .

    Ho però un'altra domanda, con la quale spero di non disturbare:
    dovrei incolonnare i button su due colonne, ossia far si che nel caso in cui si presentino 4 button, due finiscano a destra e due a sinistra. Questo per motivi di spazio.
    E' possibile fare ciò? Grazie mille.

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    Devi lavorare con i vari tag html (ed eventualmente CSS) per gestire il posizionamento.
    Una idea molto rudimentale potrebbe essere:
    Codice PHP:
    <?php $prodotto = explode(",",$product);
    echo
    '<p>';
    foreach (
    $prodotto as $n=>$prod ) {
    echo
    '<input class="MyButton" type="button" value="' .$prod. '">';
    if(
    $n%2!=0) //se l'indice dell'array è dispari, vado a capo
    echo '</p><p>';
    }
    echo
    '</p>';
    ?>
    Ciao!

  7. #7
    Guest

    Predefinito

    Ottimo! grazie mille :)

Regole di scrittura

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