从隐藏的输入中获取值



我为每个产品设置了这些隐藏字段。我可以用jquery获得隐藏字段。但是当我输入数据时,它不会进入数据库,总是显示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())");

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

 <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>

在服务器端…假设PHP的变量是这样的:

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

看到评论后,我认为问题是你的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

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

在html中使用id标签和name标签

示例更改

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

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

相关内容

  • 没有找到相关文章

最新更新