tabelle e inserimento dati nel database

Dolcemary

Nuovo Utente
5 Mag 2013
2
0
0
Ciao a tutti! mi sono appena iscritta al forum, ma spesso trovo la soluzione ai miei problemi grazie a voi....

io ora sto realizzando un form per l'iscrizione ad un torneo in php...

nella prima schermata si inseriscono vari dati relativi alla squadra e quelli riesco a memorizzarli senza problemi, ma quando arrivo alla parte relativa ai giocatori, ho un po' di problemi:

nella tabella per ogni giocatore inserisco nome e cognome e un checkbox per l'assicurazione, ma come faccio a memorizzarli nel database???? al momento riesco a mettere solo l'ultimo, e credo di sbagliare qualcosa con i cicli:incazz2::incazz2:... mi aiutate??? vi allego le parti di codice....

grazie in anticipo

iscriviti.php

PHP:
<form method="POST" action="inserisci.php">
<table width="900" border="0" align="center" cellpadding="0" cellspacing="7px">
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td width="118" align="center"><span class="dati"><span class="dati">Assicurazione</span></span></td>
    <td width="143">&nbsp;</td>
  </tr>
  <tr>
    <td align="right"><span class="testo" style="color: #39F">Giocatori (Max 3)</span></td>
   
    <td><input name="nome" type="text" value="Nome" size="20" maxlength="150" />      <input name="cognome" type="text" value="Cognome" size="20" maxlength="150" /></td>
    <td align="center"><form action="">
      <input type="checkbox" name="assicurazione" value="1"/>
</form></td>
    <td>&nbsp;</td>
  </tr>

  <tr>
    <td>&nbsp;</td>
    <td><input name="nome" type="text" value="Nome" size="20" maxlength="200" />      <input name="cognome" type="text" value="Cognome" size="20" maxlength="200" /></td>
    <td align="center"><form action="">
      <input type="checkbox" name="assicurazione" value="1"/>
</form></td>
    <td>&nbsp;</td>
  </tr>
<tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td colspan="2" align="center" ><input class="bottoni" type="submit" value="Avanti --&gt;" name="submit"><input class="bottoni" type="reset" value="Reset" name="reset" /></td>
  </tr>
</table>
</form>

inserisci.php richiamata dalla pagina precedente
PHP:
<?php 
$db_host = "localhost";// qua va inserito indirizzo del database es. localhost o un ip
$db_user = "root";// nome del user del database
$db_pass = "root";// password del user del database
$db_name = "streetgames";// nome del database  

mysql_connect($db_host,$db_user,$db_pass);
@mysql_select_db($db_name) or die("Impossibile selezionare il database.");

	
  $nome_ = addslashes(ltrim(rtrim(strip_tags(stripslashes($_POST['nome'])))));
 if ( !empty ($nome_)) { $nome = addslashes(ltrim(rtrim(strip_tags(stripslashes($_POST['nome'])))));}
 elseif (empty ($nome_)){die ( "<p style=\" font-weight:bold; text-align:center;\">Errore nella compilazione dei dati. <br />Non hai indicato il Nome.<br /><br />
<a href=\"javascript:history.go(-1)\" title=\"Torna indietro\">Torna indietro.</a></p>");}
 
$cognome_ = addslashes(ltrim(rtrim(strip_tags(stripslashes($_POST['cognome'])))));
 if ( !empty ($cognome_)) { $cognome = addslashes(ltrim(rtrim(strip_tags(stripslashes($_POST['cognome'])))));}
 elseif (empty ($cognome_)){die ( "<p style=\"font-weight:bold; text-align:center;\">Errore nella compilazione dei dati. <br />Non hai indicato il Cognome.<br /><br />
<a href=\"javascript:history.go(-1)\" title=\"Torna indietro\">Torna indietro.</a></p>");}

	
  if(isset($_POST['assicurazione'])){ 
      $sn=1;}
  else {$sn=0;
  } 
  

   
 $controllodati=mysql_query("SELECT id FROM iscrizione WHERE squadra='$squadra' OR mail='$mail'"); 
        $contautenti=mysql_num_rows($controllodati); 
         
        if($contautenti >0){die ( "<p style=\"font-weight:bold; text-align:center;\">Errore nella compilazione dei dati. <br />Nome squadra o indirizzo mail già in uso.<br /><br />
<a href=\"javascript:history.go(-1)\" title=\"Torna indietro\">Torna indietro.</a></p>");}

else{     //e se tutto è OK inserisci il nuovo iscritto nel db 
    $inserimentosquadra=mysql_query ("INSERT INTO iscrizione(id,sport,squadra,referente,cell,mail,data) VALUES('','2','$squadra','$referente','$cell','$mail','$data')"); 
	
   $inserimentogiocatori=mysql_query ("INSERT INTO iscritti(id_gio,nome,cognome,squadra,nascita_d,nascita_l,via,civico,cap,citta,prov,sn) VALUES('','$nome','$cognome','$squadra','','','','','','','','$sn')"); 
		}?>
 
Ultima modifica:
ciao
prima della query, riguarda il form di inserimento, fai de form annidati, non si può
poi se chiami nello stesso modo due o più campi di input cone valore ricevi solo l'ultimo.
fai diventare i nomi dei campi di input degli array, es.
HTML:
<input name="nome[]" type="text" value="Nome" size="20" maxlength="200" />
oppure meglio ad ogni triplette (nome+cognome+assicurazione) attribuisci una chiave unica
es
HTML:
<input name="nome[0]" type="text" value="Nome" size="20" maxlength="200" />
<input name="cognome[0]" type="text" value="Cognome" size="20" maxlength="200" />
<input type="checkbox" name="assicurazione[0]" value="1"/>
<input name="nome[1]" type="text" value="Nome" size="20" maxlength="200" />
<input name="cognome[1]" type="text" value="Cognome" size="20" maxlength="200" />
<input type="checkbox" name="assicurazione[1]" value="1"/>
poi come leggere e virificare gli arrai, alla prossima
 

Discussioni simili