Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304

    Inserimento campi multipli su DB

    Ciao, ho un piccolo problema diciamo di logica, ho questo codice che genera dei tag input (7 per ogni riga ) e il numero di righe è variabile e dipende dal contenuto della variabile $query_utenti_num_giocate i cui valori poi dovrei inserire su una tabella. Comunque generalizzando supponiamo che $query_utenti_num_giocate valga 10 quindi ho 7x10 dati da inserire, posto il codice cosi si capisce meglio:
    Codice PHP:
     <form name="registrazione"  action="insert_2.php" method="post"  >
    <table width="200">
     <tr>
    <td colspan ="10"><span class="testo_login">Form di registrazione (Passo 2 di 2)</span></td></tr>
      <?php 
                                 
     
    for($i=1;$i<=$query_utenti_num_giocate$i++) 
       { 
        for(
    $j=1$j<=6$j++)
         {
               if(
    $j==1)
                            {
                              echo(
    "<tr>");
                                                 }
        echo(
    "<td><input name=\"n[$j]\" type=\"text\" size=\"2\" maxlength=\"2\"  /></td>");
                            
    if(
    $j==6)
       {
         echo(
    "<td><input name=\"n[7]\" type=\"text\" size=\"2\" maxlength=\"2\"/></td></tr>");}
            }
                                
         }
    in sostanza la pagina si presenta con tanti campi input (7x10) i cui valori verranno passati alla pagina insert_2.php che provvederà ad inserirli nel DB in cui è presente una tabella con 7 campi chiamati n_1, n_2,n_3,...,n_7, quindi devo inserire un numero pari a $query_utenti_num_giocate di righe per intenderci. Sapreste indicarmi un procedimento semplice per risolvere il tutto?

  2. #2
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Mi rispondo da solo, forse ho risolto utilizzando matrici invece di vettori, in questo modo posso recuperare i dati sempre con 2 cicli for e inserirli nel database.
    Codice PHP:
    <form name="registrazione"  action="insert_2.php" method="post"  >
    <table width="200">
    <tr>
    <td colspan ="10"><span class="testo_login">Form di registrazione (Passo 2 di 2)</span></td></tr>
      <?php
                                
    for($i=1;$i<=$query_utenti_num_giocate$i++)
       {
        for(
    $j=1$j<=6$j++)
         {
               if(
    $j==1)
                            {
                              echo(
    "<tr>");
                                                 }
        echo(
    "<td><input name=\"n[$i][$j]\" type=\"text\" size=\"2\" maxlength=\"2\"  /></td>");
                            
    if(
    $j==6)
       {
         echo(
    "<td><input name=\"n[$i][7]\" type=\"text\" size=\"2\" maxlength=\"2\"/></td></tr>");}
            }
                                
         }
    Devo solo verificare se funziona, vi terro' aggiornati!

  3. #3
    e' esattamente quello che stavo per scriverti!

  4. #4
    Cosi' e' piu' leggibile e ti eviti anche gli if:

    Codice PHP:
    <table>
    <?php for ( $i 1$i <= $query_utenti_num_giocate$i++ ): ?>
        <tr>
        <?php for ( $j 1$j <= 6$j++): ?>
            <td><input type="text" name="n[<?php echo $i?>][<?php echo $j?>]" size="2"></td>
        <?php endfor; ?>
        </tr>
    <?php endfor; ?>
    </table>
    ho un po' abbreviato il markup per far prima

  5. #5
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Originariamente inviato da pinzo
    e' esattamente quello che stavo per scriverti!
    Si, in realtà ti ho letto nel pensiero, mica poteva venirmi in mente a me una cosa del genere! Grazie comunque per l'interessamento, avrai modo di rifarti, tanto mi sorgeranno altri dubbi!

    Originariamente inviato da k.b
    Cosi' e' piu' leggibile e ti eviti anche gli if:

    Codice PHP:
    <table>
    <?php for ( $i 1$i <= $query_utenti_num_giocate$i++ ): ?>
        <tr>
        <?php for ( $j 1$j <= 6$j++): ?>
            <td><input type="text" name="n[<?php echo $i?>][<?php echo $j?>]" size="2"></td>
        <?php endfor; ?>
        </tr>
    <?php endfor; ?>
    </table>
    ho un po' abbreviato il markup per far prima
    Si lo so, non sono particolarmente bravo nel rendere el cose leggibili...agli altri, io lo capisco benissimo! Ahahah! grazie comunque.

  6. #6
    Originariamente inviato da k.b
    ho un po' abbreviato il markup per far prima
    cosa è il markup?

  7. #7
    Originariamente inviato da oly1982
    cosa è il markup?
    Il codice HTML: HyperText Markup Language.

  8. #8
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Ora mi sorge il problema di come recuperare le varie variabili $POST. HO provato in questo modo ma nulla
    Codice PHP:

    for($i=1;$i<=$query_utenti_num_giocate;$i++) 
     {for(
    $j=1$j<=6$j++) { 
     
    $n_ins[$i][$j]=$_POST['n']['$i']['$j'];                              }                   } 
    A me interessa sempre recuperarle e tenerle in matrice,quale è la sintassi corretta, del primo membro cioè $n_ins[$i][$j]?

  9. #9
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Appurato che questo codice funziona
    Codice PHP:
    for($i=1;$i<=$query_utenti_num_giocate;$i++)
    {for(
    $j=1$j<=6$j++) {
    $n_ins[$i][$j]=$_POST['n']['$i']['$j'];}                  
     } 
    qualcuno mi dice come potrei inserire i dati in una tabella , avendo come campi della tabella n_1, n_2, n_3, n_4, n_5, n_6, cioè come devo impostare la query per inserire n righe ciascuna riga formata da questi 6 campi?

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.