将多个复选框选择放入单个phpmyadmin表中

xnifntxz  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(318)

我在php中为phpmyadmin中的一个表设置了多个复选框,我正在尝试找出如何在phpmyadmin的一个表中放置多个值(例如:选择womers、website和automail复选框将它们放在一个crp\u sys\u受影响的表中,comas为“womers、website、automail”)。
这是使用的checkbox接口。

<tr>
		<td><b>System Affected: </b></td>
		<td align='left'><input type='checkbox' name='aff' value='Womers' <?php if($input[69] == "Womers"){echo "checked";} ?>> Womers</td>
		<td align='left'><input type='checkbox' name='aff' value='LOS' <?php if($input[69] == "LOS"){echo "checked";} ?>> LOS</td>
		<td align='left'><input type='checkbox' name='aff' value='Host To Host' <?php if($input[69] == "Host To Host"){echo "checked";} ?>> Host To Host</td>
		<td align='left'><input type='checkbox' name='aff' value='Website' <?php if($input[69] == "Website"){echo "checked";} ?>> Website</td>
	</tr>
	<tr>
		<td></td>
		<td align='left'><input type='checkbox' name='aff' value='SSWB' <?php if($input[69] == "SSWB"){echo "checked";} ?>> SSWB</td>
		<td align='left'><input type='checkbox' name='aff' value='Orafin' <?php if($input[69] == "Orafin"){echo "checked";} ?>> Orafin</td>
		<td align='left'><input type='checkbox' name='aff' value='Automail' <?php if($input[69] == "Automail"){echo "checked";} ?>> Automail</td>
		<td align='left'><input type='checkbox' name='aff' value='SID' <?php if($input[69] == "SID"){echo "checked";} ?>> SID</td>
	</tr>
	<tr>
		<td></td>
		<td align='left'><input type='checkbox' name='aff' value='SSWBS' <?php if($input[69] == "SSWBS"){echo "checked";} ?>> SSWBS</td>
		<td align='left'><input type='checkbox' name='aff' value='PSAK' <?php if($input[69] == "PSAK"){echo "checked";} ?>> PSAK</td>
		<td align='left'><input type='checkbox' name='aff' value='Mirrorsys' <?php if($input[69] == "Mirrorsys"){echo "checked";} ?>> Mirrorsys</td>
		<td align='left'>
		<input type='checkbox' name='aff' value='Otheraff'
				<?php $mod_array = array("Womers", "LOS", "Host To Host", "Website", "Orafin", "Automail", "SID", "SSWB","SSWBS","PSAK","Mirrorsys");
				if(! in_array($input[69], $mod_array) && $input[69] != NULL){ echo "checked"; } ?>>
			<input type='text' name='other_aff' onkeyup='otherModCheck()' value='<?php if( ! in_array($input[69], $mod_array)){ echo $input[69]; } ?>'>
		</td>
	</tr>

如果我只选中了一个,它可以正常工作,但是当我选中多个时,进入数据库表的那个就是我最后选中的那个。

gwo2fgha

gwo2fgha1#

看起来他们的名字都一样。
https://www.w3schools.com/tags/att_input_type_checkbox.asp

zqry0prt

zqry0prt2#

让我展开我的评论,以便您获得所有复选框的数组您可以执行以下操作:

<form action="#" method="post">
  <tr>
    <td><b>System Affected: </b></td>
    <td align='left'><input type='checkbox' name='aff[]' value='Womers' <?php if($input[69] == "Womers"){echo "checked";} ?>> Womers</td>
    <td align='left'><input type='checkbox' name='aff[]' value='LOS' <?php if($input[69] == "LOS"){echo "checked";} ?>> LOS</td>
    <td align='left'><input type='checkbox' name='aff[]' value='Host To Host' <?php if($input[69] == "Host To Host"){echo "checked";} ?>> Host To Host</td>
    <td align='left'><input type='checkbox' name='aff[]' value='Website' <?php if($input[69] == "Website"){echo "checked";} ?>> Website</td>
</tr>
<input type="submit" name="submit" value="Submit"/>
</form>

<?php
  if(isset($_POST['submit'])){ //to run PHP script on submit
   if(!empty($_POST['aff'])){
    // Loop to store and display values of individual checked checkbox.
    foreach($_POST['aff'] as $selected){
     echo $selected."</br>";
    }
   }
  }
?>

还有一件事我忘了补充,如果我是对的,你带来的价值 $input[69] 在这种情况下,应该包含存储所有这些值的数组。我看到你在做什么 <?php if($input[69] == "Womers"){echo "checked";} ?> 如果您在每行检查一个值,您可以尝试以下操作

in_array("Womers", $input[69])

这将返回true或false。同样,只有在您的 $input[69] 是一个数组。

相关问题