Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [PHP] recupero dati da campi variabili

    Ciao a tutti. Vi espongo il problema:
    ho un form dove il numero di campi varia in base ad un numero scelto dalla pagina precedente. Come faccio a recuperare i dati da questi campi e ad inserirli nel database? In pratica: un utente mi dice quanti giocatori deve iscrivere ad un torneo e nella pagina successiva mi compaiono i campi da compilare (nome, cognome, ecc) per il numero di giocatori stabilito. Credo che servano gli array ma non so come impostare il recupero delle variabili.

  2. #2
    Crea dei campi come questi:

    Codice PHP:
    <input type="text" name="players[]"
    Poi puoi accedere ai vari players attravero l'array $_POST['players']

  3. #3
    ok, fino qui ci sono, i dati che mi invia il form mi creano 3 array: uno con l'elenco dei nomi, uno con l'elenco delle categorie ed uno con l'elenco dei loro numeri di ranking. in pratica $pl è un array formato da tutti gli $_POST[players]. Adesso come faccio a visualizzare i dati? se faccio "echo $pl" ovviamente mi restituisce un errore, se faccio $pl[0] mi restituisce solo il primo dato. può servire un ciclo FOREACH? che però io non sò usare...

  4. #4
    Puoi usare un qualsiasi ciclo.

    Nel manuale ufficiale trovi molti esempi esaustivi:

    http://www.php.net/foreach

  5. #5
    Grazie 1000, funziona! Mi farò sentire se avrò ancora bisogno

  6. #6
    ora ho un problema di visualizzazione dei risultati. in poche parole mi risulta questo:
    $pl = array con tutti i nomi dei players; $ct array con tutte le categorie di appartenenza dei players.
    <td> $pl[0], $pl[1], $pl[2] </td>
    <td> $ct[0], $ct[1], $ct[2] </td>

    io invece vorrei:
    <td> $pl[0] </td> <td> $pl[0] </td>
    <td> $pl[1] </td> <td> $ct[1] </td>

    in pratica in una casella mi stampa tutte le righe di un'array mentre io vorrei ogni riga in una casella diversa e non riesco ad impostare il ciclo "foreach".

  7. #7
    Per quello che vuoi realizzare è meglio un http://www.php.net/for :

    Codice PHP:
    <?php 

    $count 
    count($pl);

    for (
    $i 0$i $count$i++) {
        
    printf("<tr><td>%s</td><td>%s</td></tr>"$pl[$i], $ct[$i]);
    }

    ?>
    Ammesso che $pl e $ct contengano lo stesso numero di elementi.

  8. #8
    fino qui tutto bene, però vorrei inserire i dati nel DB per poi visualizzarli nell'elenco degli iscritti. se si tratta di una singola variabile non ho problemi ma con gli array non so come gestire il comando INSERT. ho provato a modificare un ciclo "for", con una cosa di questo tipo
    Codice PHP:
    for ($x=0$y=0$z=0$cnt1=count($pl), $cnt2=count($plr), $cnt3=count($ct); $x<$cnt1$y<$cnt2$z<$cnt3$x++, $y++, $z++) {
    $qpl="INSERT INTO iscrizioni (mail, player, playerrank, playercat) VALUES ('$madd','$pl[$x]','$plr[$y]',$ct[$z])";

    ma non funziona. suggerimenti???

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.