Visualizzazione dei risultati da 1 a 3 su 3

Discussione: campi input a matrice

  1. #1
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304

    campi input a matrice

    Ho un problema nel strutturare uno script php/mysql per questa situazione:
    parliamo in generale, supponiamo che io abbia una tabella in Mysql fatta in questo modo:

    tabella(id,colonna,riga,giocatore)

    Ora supponiamo che io abbia un form a "matrice" di campi input, per semplicità poniamo 2x2 fatti in questo modo:
    codice:
    ......
    <table>
    <tr><td>
    <input name"?" type="text" size="10"></input></td>
    <td>
    <input name"?" type="text" size="10"></input></td>
    </tr>
    <tr><td>
    <input name"?" type="text" size="10"></input></td>
    <td>
    <input name"?" type="text" size="10"></input></td>
    </tr>
    </table>
    .......
    Praticamente devo inserire nei campi input il campo giocatore della tabella, ma non so che nome attribuire a ciascun input (qui ho messo ?) e come strutturare la query in modo che vengano inseriti i valori giusti nella tabella, cioè che al primo input (colonna 1 e riga 1) venga effetivamente salvato in tabella (id,1,1,nome_gocatore) ecc.
    Non so se sono riuscito a spiegarmi, se qualcosa non è chiaro e intendete aiutarmi non esitate a chiedere chiarimenti!

  2. #2
    Moderatore di Off Topic, Kickstarter e XML L'avatar di Sky
    Registrato dal
    Jul 2000
    residenza
    Roma
    Messaggi
    1,053
    E' più difficile a dirsi che a farsi. Partiamo direttamente dai codici.

    HTML:

    <table>
    <tr><td>
    <input name="colonna[1]" type="text" size="10"></td>
    <td>
    <input name="riga[1]" type="text" size="10"></td>
    </tr>
    <tr><td>
    <input name="colonna[]" type="text" size="10"></td>
    <td>
    <input name="riga[]" type="text" size="10"></td>
    </tr>
    </table>


    Se il numero di righe da inserire nel database è fisso, non serve usare cicli for ecc.
    Quindi il codice sarebbe semplicemente il seguente

    PHP:

    mysql_query("INSERT INTO tabella (colonna,riga,giocatore) VALUES ('{$_POST['colonna'][1]}', '{$_POST['riga'][1]}', '{$_POST['nome_giocatore']}'), ('{$_POST['colonna'][2]}', '{$_POST['riga'][2]}', '{$_POST['nome_giocatore']}'), --etc...");

    In pratica, con il codice html che ti ho suggerito, crei una matrice sia per i campi "colonna" che per i campi "riga". Per i primi due ho specificato la chiave così da far partire l'indice della matrice dal numero 1 (anziché zero); gli altri, non avendo una chiave, saranno numerati automaticamente.

    Per recuperare i valori inseriti, si usa la stessa sintassi degli array multimensionali. Nel codice di prima ho usato la complex syntax per includere il valore degli array dentro una stringa, in modo da non spezzarla continuamente.
    Inoltre uso gli inserimenti multipli nella query ( VALUES (), (), () e via dicendo ) per caricare più righe insieme nel database.

    Se hai dubbi, sono qua :)
    Ciao
    Lo Stato deve dare ai cittadini, come diritto, ciò che la mafia dà come favore.
    Carlo Alberto dalla Chiesa

    Facebook | Twitter | Last.fm | LinkedIn | Quora

  3. #3
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Grazie 1000 ora provo e se ho dubbi mi faccio sentire!

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.