将值插入隐藏字段的数据库中

时间:2016-07-19 11:11:09

标签: php

查询是否如果我选择'选择新的父类别'从下拉列表中,会出现一个新的文本框。我想将该值插入数据库。该文本框被默认隐藏。

HTML文件

<head>
    <script type="text/javascript">
                    $(document).ready(function() {  
    $('#parentcat').change(function(){  
    if($('#parentcat').val() === 'Create a New Parent Category')  
       {  
       $('#other').show();   
       $('#catname').hide();

       }  
    else 
       {  
       $('#other').hide();   
       $('#catname').show(); 

       }  
    });  
    });     

    </script>   </head>

    <table>
    <body>
            <form method="POST" action="" name="form1"  enctype="multipart/form-data" >
                <tr>
                    <td><h4>Add category</h4></td>
                </tr>
                <tr>
                    <td>Select parent Category:</td><td><select name="parentcat" id="parentcat">

                    <?php 
            include "../storescripts/connect_to_mysql.php";
                        $result=mysql_query("SELECT parent from category"); while($row=mysql_fetch_array($result)){
                            echo "<option>".$row['parent'];"</option>";
                        } ?>
                            <option value="Create a New Parent Category">Create a New Parent Category</option>   
                        </select><br/></td>
                        <tr><td><input type="text" id="other" name="other" placeholder="New Parent Category Name:" style="display: none;"/></td></tr>


                </tr>

                <tr>
                    <td></td><td><input type="text" name="catname" placeholder="SubCategory name" id="catname"><br/></td>
                </tr>

                <tr>
                    <td>Status:
                    </td>
                    <td><select name="status" >
                        <option selected="Active">Active</option>
                        <option>Inactive</option>
                    </select></td>
                </tr>


                    <tr><td>Category Image :</td><td><input type="file" name="imageUpload" id="imageUpload"></td>
                    </tr>
                    <tr>
                    <td></td>
                    <td><input type="submit" name="submit" value="Insert"></td>
                    </tr>


                </form>
                </table>

这是我完整的HTML文件,默认为&#39;其他&#39;下拉列表是隐藏的。现在我在这里提供我的PHP代码,将值插入数据库,问题是如何将隐藏字段的值插入数据库。我的数据库字段包括:cat_id(自动增量),cat_name,parent,cat_status,cat_image。 这是我的PHP代码,用于将值插入数据库。

<?php 
                                 if(isset($_POST['submit']))
                                 {
                                 $parentcat=$_POST['parentcat'];
                                $catname=$_POST['catname'];
                            $status=$_POST['status'];
                                 $target_dir = "../uploads/";
                                  $target_file = $target_dir . basename($_FILES["imageUpload"]["name"]);
                                  $uploadOk = 1;
                                  $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);

                                    if (move_uploaded_file($_FILES["imageUpload"]["tmp_name"], $target_file)) {
                                        echo "The file ". basename( $_FILES["imageUpload"]["name"]). " has been uploaded.";
                                    } else {
                                        echo "Sorry, there was an error uploading your file.";
                                    }

                                    $image=basename( $_FILES["imageUpload"]["name"],".jpg"); // used to store the filename in a variable


                                $sql = mysql_query("SELECT cat_id FROM category WHERE cat_name='$catname' LIMIT 1");
                                  $CatMatch = mysql_num_rows($sql); // count the output amount
                                    if ($CatMatch > 0) {
                                    echo 'Sorry you tried to place a duplicate "Category Name" into the system, <a href="addcategoryy.php">click here</a>';
                                    exit();

                                  }

                                  else{
                                   $sql=mysql_query("INSERT INTO `category` (`cat_name`, `parent`, `cat_status`,`cat_image`) VALUES ('$catname', '$parentcat', '$status','$image') ");
                                   echo $sql;
                                }

                                }

?>

对于例如。如果我选择一个新的父类别,则出现名为textbox的子类别,我想将该值插入数据库。我怎么能这样做。

1 个答案:

答案 0 :(得分:0)

像这样更改您的jquery代码

<script type="text/javascript">
$(document).ready(function () {
    $('#parentcat').change(function () {

        if ($('#parentcat').val() === 'Create a New Parent Category'){
            $('#other').prop('type', 'text');
            $('#catname').prop('type', 'hidden');
        }
        else{
            $('#other').prop('type', 'hidden');
            $('#catname').prop('type', 'text');

        }
    });
});
</script> 

同样更改#other输入框的HTML代码,如下所示

<input type="hidden" id="other" name="other" placeholder="New Parent Category Name:"/>

让我知道它是否适合你。

修改

在您的PHP文件中,而不是$catname=$_POST['catname'];添加此

$catname = ( $parentcat == "Create a New Parent Category") ? $_POST['other'] : $_POST['catname'];