Php 如何向数据库添加多个复选框值

Php 如何向数据库添加多个复选框值,php,mysql,database,checkbox,Php,Mysql,Database,Checkbox,我有一个名为“student1905”的数据库,其中有一个名为“programmata”的表,其中有一个名为“Periorismoi”的列 我有一个页面,其中有一些复选框。我所要做的就是将勾选(选中)复选框的值添加到“Periorismoi”列中,在它们之间加上“,”。我正在考虑一个函数,其中名为“ids”的变量将获取所有值。然后ID将添加到列中。但有点不对劲,我找不到它,尽管我在谷歌上搜索得很厉害。以下是带有复选框的页面中的部分代码: <form action="Insert4.

我有一个名为“student1905”的数据库,其中有一个名为“programmata”的表,其中有一个名为“Periorismoi”的列

我有一个页面,其中有一些复选框。我所要做的就是将勾选(选中)复选框的值添加到“Periorismoi”列中,在它们之间加上“,”。我正在考虑一个函数,其中名为“ids”的变量将获取所有值。然后ID将添加到列中。但有点不对劲,我找不到它,尽管我在谷歌上搜索得很厉害。以下是带有复选框的页面中的部分代码:

    <form action="Insert4.php" method="POST" periorismoi="periorismoi">
        <p>
<input type="checkbox" name="periorismoi[]" value="TRALALALA">Προβλήματα Όρασης<br>
<input type="checkbox" name="periorismoi[]" value="2">Προβλήματα Ακοής<br>
<input type="checkbox" name="periorismoi[]" value="3">Κινητικά Προβλήματα <br>
<input type="checkbox" name="periorismoi[]" value="4">Σοβαρές κινητικές διαταραχές (σε αναπηρικό καροτσάκι)<br>
<input type="checkbox" name="periorismoi[]" value="5">Κατάθλιψη<br>
<input type="checkbox" name="periorismoi[]" value="6">Άγχος<br>
<input type="checkbox" name="periorismoi[]" value="7">Δεν μπορεί να γράφει και να διαβάζει
</p>
<p align="center"><input type="submit" name="Submit" value="ΠΡΟΣΘΗΚΗ"></p>
<p align="left"> <br></p>
</form>
</body>
而不是行:

for($i=0; $i<sizeof($periorismoi);$i++){

for($i=0;$i可能最快、最简单的方法就是将periorismoi[]数组编码为JSON字符串并存储在表列中

像这样的

<?php
if ($POST){
    $link = mysql_connect('localhost', 'student1905','123456');
    mysql_select_db('student1905');
    if(!$link){
        die('Could not connect: '.mysql_error());
    }
    else {
        $periorismoi = $_POST['periorismoi'];
        $sql="INSERT INTO programmata SET Auxon = '' Title = ".$title." Periorismoi = ".json_encode($periorismoi).";";
        if(mysql_query($sql)){
            echo "worked";
        } else echo "didnt work";
    }
}
?>

诸如此类的事情吗?您所要做的就是用数组的值创建一个字符串,但在它们之间只有一个“,”。

希望这对你有帮助!!

你应该只使用
内爆(',',$\u POST['periorismoi'])
编程学生和你的学生帮助了我。THANX!我这样做了,但当我检查数据库时,没有添加列:(这不会“添加列”它只需在表中插入一条记录,记录中包含表单发布时的值。它现在接受值!尽管我需要先放入UTF-8。现在如何将多个值放入列中?例如,我选中no1和no2。我希望它们在列中显示为:value1,value2
for($i=0; $i<sizeof($periorismoi);$i++){
$len = sizeof($periorismoi);
for($i=0; $i<$len;$i++){ 
<?php
if ($POST){
    $link = mysql_connect('localhost', 'student1905','123456');
    mysql_select_db('student1905');
    if(!$link){
        die('Could not connect: '.mysql_error());
    }
    else {
        $periorismoi = $_POST['periorismoi'];
        $sql="INSERT INTO programmata SET Auxon = '' Title = ".$title." Periorismoi = ".json_encode($periorismoi).";";
        if(mysql_query($sql)){
            echo "worked";
        } else echo "didnt work";
    }
}
?>
$per = $_POST['periorismoi'];    
foreach($per as $p) {
  $periorismoi=$p.",";
}

$sql="INSERT INTO programmata (Periorismoi) VALUES ($periosismoi)";
mysqli_query($sql);