从隐藏的输入中获取价值

时间:2014-03-23 10:15:58

标签: php mysql forms input hidden

我为每种产品都有这些hiiden字段。我可以通过jquery获取隐藏的fiels。但是当我输入数据时它不会进入数据库,我总是显示0.我瘦是因为相同的命名值。如何在不更改输入名称的情况下解决此问题!

我的数据库中还有一个表用于所有产品。

<select id="mySelect" onchange="npup.doSelect(this);" name="catagory" type="text">
        <option value="">choice</option> 
        <option value="curtain_fabrics">Curtain Fabrics</option>
        <option value="curtain">Curtains</option>
        <option value="curtain_holder">Curtain Holders</option>
    </select>
    <div id="mySpecialElements">
          <div id="npupcurtain_fabrics" class="hidden">
           <div class="fe" >Quality: <input type="text" name="quality">  </div>
           <div class="fe" >Width:<input type="text" name="width"> </div>
           <div class="fe" >Price:<input type="text" name="price"> $/m</div>
        </div>

       <div id="npupcurtain" class="hidden">
           <div class="fe" >Quality<input type="text" name="quality"></div>
           <div class="fe" >Width:<input type="text" name="width"> </div>
           <div class="fe" >Height:<input type="text" name="height"></div>
           <div class="fe" >Price:<input type="text"  name="price" >$/set</div>
       </div>

       <div id="npupcurtain_holder" class="hidden">
           <div class="fe" >Material<input type="text" name="material"></div>
           <div class="fe" >Moldel:<input type="text" name="model"> </div>
           <div class="fe" >Price:<input type="text"  name="price" >$/piece</div>
        </div>

这是mysql代码:

  $sql = mysql_query("INSERT INTO products (name, catagory, quality, width,  height,  price, date_add)
VALUES('$product_name','$product_category','$prosuct_quality','$produt_width','$product_height','$product_price', now())");

4 个答案:

答案 0 :(得分:2)

您可以将它们作为数组发送到服务器:

 <div id="npupcurtain_fabrics" class="hidden">
           <div class="fe" >Quality: <input type="text" name="fabrics[quality]">  </div>
           <div class="fe" >Width:<input type="text" name="fabrics[width]"> </div>
           <div class="fe" >Price:<input type="text" name="fabrics[price]"> $/m</div>
        </div>

       <div id="npupcurtain" class="hidden">
           <div class="fe" >Quality<input type="text" name="npupcurtain[quality]"></div>
           <div class="fe" >Width:<input type="text" name="npupcurtain[width]"> </div>
           <div class="fe" >Height:<input type="text" name="npupcurtain[height]"></div>
           <div class="fe" >Price:<input type="text"  name="npupcurtain[price]" >$/set</div>
       </div>

       <div id="npupcurtain_holder" class="hidden">
           <div class="fe" >Material<input type="text" name="holder[material]"></div>
           <div class="fe" >Moldel:<input type="text" name="holder[model]"> </div>
           <div class="fe" >Price:<input type="text"  name="holder[price]" >$/piece</div>
        </div>

在服务器端..say PHP变量就像:

$_POST['fabrics']['quality'];
$_POST['holder']['model'];
....

答案 1 :(得分:0)

看到评论后,我认为问题仅在于您的SQL,而不是其他部分。您可能无法正确执行连接和构建查询。请尝试以下代码。 (我需要提一下,不建议像这样连接字符串。使用占位符?来阻止SQL注入。)

    $sql = mysql_query(
    "INSERT INTO products (
                      name, 
                      catagory, 
                      quality, 
                      width,  
                      height,  
                      price, 
                      date_add)
    VALUES(
          '".$product_name."'
        ,'".$product_category."'
        ,'".$prosuct_quality."'
        ,'".$produt_width."'
        ,'".$product_height."'
        ,'".$product_price."'
        , now())");

对于占位符(预先准备好的陈述),请参阅http://www.php.net/pdo.prepared-statements

答案 2 :(得分:0)

这可能是数据库中表格列的 错误数据类型 的结果。例如。您正在将string插入数据库表中仅接受integers的列中,因此您将获得存储的值0

答案 3 :(得分:-1)

在html中使用id tag vs name标签

更改示例

<div class="fe" >Quality: <input type="text" name="quality"> </div>

<div class="fe" >Quality: <input type="text" id="quality"> </div>