我为每种产品都有这些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())");
答案 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>