【问题标题】:How to Insert Primary key from checkbox如何从复选框插入主键
【发布时间】:2016-11-28 06:50:23
【问题描述】:

我想将数据输入到表格id_ssss_kat并在表格上输入ss_katid_kat,所以数据会显示在输入katss_kat复选框菜单上,但是我反复试了2次都不行,大概erornya在哪里?

我想提交表格kat 中的复选框和此处图片中的示例索引

<?php
    include "../../inc/conn.php";
?>

<div class="row">
<div class="col-md-6">
    <form action="proses.php" method="POST" enctype="multipart/form-data" style="margin-top:20px;">
        <input type="hidden" name="id_ss_kat" />

        <?php
                $ss = mysql_query("SELECT * from ss");
        ?>

        <select class="form-control" name="id_ss">
        <?php
            while ($rows=mysql_fetch_array($ss)) 
            { ?>
            <option class="form-control" value="<?php echo $rows['id_ss'];?>" name="id_ss"><?php echo $rows['name'];?></option>

        <?php
            }
        ?>
        </select>
        <br>
        <?php
            $kat = mysql_query("SELECT * from kat WHERE kat_status='1'");
        ?>

        <?php
            while ($rows=mysql_fetch_array($kat)) 
            { ?>

        <input type="checkbox" name="id_kat[<?php echo $rows['id_kat'];?>]" value="<?php echo $rows['id_kat'];?>"><?php echo $rows['nama'];?>

        <?php
            }
        ?>

        <br>
        <input class="btn btn-primary" type="submit" name="ssf" value="SAVE">
        <br>
    </form> 
    <br>

</div>
</div>

这里是proses.php

<?php
    if (isset($_POST['ssf'])) {
        $id_ss_kat          = $_POST['id_ss_kat'];
        $id_kat             = $_POST['id_kat'];
        $id_ss              = $_POST['id_ss'];

        foreach($id_kat as $kat) {
            $source.=$kat.", ";
        }
        $one=substr($source,0,-1);

        $q      = "INSERT into ss_kat VALUES('$id_ss_kat','$one','$id_sekolah')";
        $dq     = mysql_query($q);

        if ($dq) {
            echo "berhasil";
        }else{
            mysql_error();
        }

    }
?>

索引如下图所示:

【问题讨论】:

    标签: php mysql checkbox


    【解决方案1】:

    您必须选择要插入数据的相应列:

    $q = "INSERT into ss_kat (column1, column2, column3)
          VALUES ('$id_ss_kat','$one','$id_sekolah')";
    

    你也倾向于SQL injections。您可以使用*_real_escape_string()prepared statement,但我更喜欢后者。

    还警告您也在使用deprecated mysql_* extensions,从 PHP 5.5.0 开始,将在 PHP v7 中删除。

    您真的要将选中的复选框放在数据库中的单行中吗?因为在正常方案中,您更愿意将它们存储在每个指定的行中。

    【讨论】:

      猜你喜欢
      • 2020-07-21
      • 1970-01-01
      • 2020-09-29
      • 2015-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多