将多个输入选择(HTML / PHP)中的值插入到mysql数据库中

时间:2018-01-03 01:12:48

标签: php html mysql

我有一个返回Name,Surname和Choice的mysql查询。 对于返回的每一行,我有一个输入选择(同​​意/不同意/可能/无)

我想在" advice"中插入所有输入选择的值(返回的每一行一个)到我的数据库中。字段

mysql表:名称,姓氏,选择,建议

我设法获得了这些值,但是当我尝试将它们插入到建议字段中时,如果我返回了3行(每行一条建议),则为每一行存储所有三个建议,它应该只有一个。

这是我有sql查询结果的部分,每个返回的行都有一个输入选择:



 while( $result = mysql_fetch_object( $requete ) )
  {
  ?>

 

	  <table border="1" align="center">
			<tr valign="middle" align="center">
				
				<td width="400"><?php echo "$result->NomEtud"?> </td>  
				<td width="400"><?php echo "$result->PrenomEtud"?> </td> 
				<td width="400"><?php echo "$result->filieres"?> </td>
				
				<td width="100">
				<form method="post" action="validationavis2.php">
				<select name="Avis[]" id="state_id" >
				<option name="Avis[]" value="Très Favorable">Très Favorable</option>
				<option name="Avis[]" value="Favorable">Favorable</option>
				<option name="Avis[]" value="Défavorable">Défavorable</option>
				<option name="Avis[]" value="Sans Opinion">Sans Opinion</option>
				</select>
				<input type="hidden" name="NomEtud" value="<?php echo($NomEtud) ;?>"/>
				<input type="hidden" name="PrenomEtud" value="<?php echo($PrenomEtud) ;?>"/>
				<input type="hidden" name="id" value="<?php echo($id) ;?>"/>
				<input type="hidden" name="filieres" value="<?php echo($filieres) ;?>"/>
				<input type="hidden" name="idvoeux[]" value="<?php echo($idvoeux) ;?>"/>      
				


  </table>

	
  <?php
  }//fin if 
  
  
  ?>
  <br><br><br>
<center><input type="submit" name="submit"></button></center>
</form>
&#13;
&#13;
&#13;

现在我有sql查询的页面插入输入值的选择:

&#13;
&#13;
<?php
  //connection au serveur
  $cnx = mysql_connect( "localhost", "root", "" ) ;
 
  //sélection de la base de données:
  $db  = mysql_select_db( "choices" ) ;
 
  //récupération des valeurs des champs:
 

 

 
  //nom de la matiere:
 $Avis = $_POST['Avis'] ;
  $NomEtud  = $_POST['NomEtud'] ;
 $PrenomEtud  = $_POST['PrenomEtud'] ;
  $id  = $_POST['id'] ;
  $filieres  = $_POST['filieres'] ;
    $idvoeux  = $_POST['idvoeux'] ;


  

$var = "";
for ($i=0;$i<sizeof($Avis);$i++) {
    $var .= "".$Avis[$i]."";
    echo $Avis[$i];


$sql="UPDATE  voeux inner join choixfilieres on voeux.filieres=choixfilieres.filieresprof
SET AVIS='".$var."'
WHERE id='" . $id. "' 
 
";


  //exécution de la requête SQL:
  $requete = mysql_query($sql) or die( mysql_error() ) ;
 
}
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

你不应该给每个选项都一个名字 选择名称=&#39; avis&#39;
你只需给每个选项一个值

<select name="avis">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>