Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将存储的复选框数据显示到更新表单的PHP_Php_Mysql_Database - Fatal编程技术网

将存储的复选框数据显示到更新表单的PHP

将存储的复选框数据显示到更新表单的PHP,php,mysql,database,Php,Mysql,Database,我想知道是否有人可以帮忙,我正在创建一个更新产品表单,它显示数据库中已有数据的结果。我想显示所有的复选框类别,并有那些已经被选中为选中,以便用户可以轻松地选择和更改 我知道我把下面的代码复杂化了,但我真的不知道该怎么做。下面的代码当前选择了所有类别,并将它们显示为复选框,但我无法让它显示用户已选择并保存到db的类别。另外,我使用的是MySQL原始版本,不是我知道应该改进的版本,但是如果有人能帮助我,我会非常感激,谢谢Louise <?php $query =

我想知道是否有人可以帮忙,我正在创建一个更新产品表单,它显示数据库中已有数据的结果。我想显示所有的复选框类别,并有那些已经被选中为选中,以便用户可以轻松地选择和更改

我知道我把下面的代码复杂化了,但我真的不知道该怎么做。下面的代码当前选择了所有类别,并将它们显示为复选框,但我无法让它显示用户已选择并保存到db的类别。另外,我使用的是MySQL原始版本,不是我知道应该改进的版本,但是如果有人能帮助我,我会非常感激,谢谢Louise

<?php

             $query  = "SELECT *  FROM category, catid_productid WHERE catid_productid.product_id ='$product_id' ORDER BY product_id ASC";
             $result = mysql_query($query);

             $query  = "SELECT *  FROM category, catid_productid WHERE category.cat_id = catid_productid.cat_id AND catid_productid.product_id ='$product_id' ORDER BY product_id ASC";
             $selected_result = mysql_query($query);
             $selected_array = array($selected_result);


             while($row = mysql_fetch_array($result, MYSQL_ASSOC))
                {

                    $title= $row ['title'];
                    $cat_id= $row ['cat_id'];
                    echo '<li><label for="category-'.$cat_id.'" id="labelleft">'.$title.'</label>';
                    echo '<input name="category[]" id="category-'.$cat_id.'" type="checkbox" class="formbox" value="'.$cat_id;
                    if (isset($_GET['product_id']) && in_array($selected_array['$selected_result'], $selected_array)) {
                        echo 'checked="checked"';
                    }
                    echo " /></li>'";


                }
             ?>

我不知道您是否在数据库中存储了检查过的信息,但我在这里发现了错误的报价

试着改变这个

echo '<input name="category[]" 
        id="category-'.$cat_id.'" 
        type="checkbox" class="formbox" value="'.$cat_id;
echo'“;

echo'/>;

如何将选中或未选中的信息存储在数据库中?作为布尔值,0表示未选中,1表示已选中。有一个单独的类别表和产品表,由一个名为catid_productid的多对多关系表连接,这是否有帮助?是的。它有帮助。哪些表具有该信息?或者这两个表都有?哦,不,这不是一个布尔值对不起,如果选中它,它会将cat_id和product_id添加到catid_productid表中,从而将产品表和类别表连接在一起。如果这有帮助,我在上面添加了表单该部分的代码?您如何获得用户首选项?我看不到任何地方可以获得prefs。
if($result) {
            $product_id = mysql_insert_id();

            foreach ($category as $cat_id)
            {
            // connect to mysql database
            mysql_query("INSERT INTO catid_productid (cat_id, product_id) VALUES ('$cat_id', '$product_id')");
            }
echo '<input name="category[]" 
        id="category-'.$cat_id.'" 
        type="checkbox" class="formbox" value="'.$cat_id;
echo '<input name="category[]" 
       id="category-'.$cat_id.'" 
       type="checkbox" class="formbox" value="'.$cat_id.'"';
echo " /></li>'";
echo ' /></li>';