我想使用链接元素的id发送SQL条件语句,该元素是由php文件生成的产品类别,并加载回具有类load_area的div。我使用.attr()方法获取类别,然后将此数据作为字符串{'category='"+cat+"'}发送到php文件。发送的字符串应该是
category="bag"
但是这是我在php文件
中得到的打印结果category=''"bag'"'
可以看到,php文件自动将转义字符添加到我发送给它的字符串中,因此无法成功处理查询。我很沮丧,试图找到解决问题的正确方法。所以请帮忙…
这是我的HTML<a id="bag" href="#">Bag</a>
<div class="load_area"></div>
这是javaScript
$(document).ready(function() {
$('a').click(function() {
var cat = $(this).attr('id');
$('.load_area').load('controllers/genproduct.php', {'condition':'category='"+cat+"'});
});
});
这是我的php脚本
<?php
$condition = explode("=", $_POST['condition']); // Get condition
$limit = $_POST['limit']; // Get limit
require_once("../engines/store_manager.class.php");
$store = new store_manager(mysql_connect("localhost", "root", "1234"), "gemalong", "cart", "products");
if(isset($condition) || $condition != "") {
if(isset($limit) || $limit != "") {
$getquery = $store->product_gen($condition, $limit);
}
else {
$getquery = $store->product_gen($condition);
}
}
else {
$getquery = $store->product_gen();
}
while($data=mysql_fetch_array($getquery)) {
$pid = $data['id'];
$pname = $data['name'];
$pdesc = $data['description'];
$pprice = $data['price'];
$ppix = $data['pix'];
// Start generating view
echo "<div class='each_product'>";
echo "<div class='img_container'>";
echo "<a id='ppixlink".$pid."' href='#' alt='".$pname."'><img src='".$ppix."' title='".$pname."' /></a>";
echo "</div>";
echo "<p class='product_name'><a id='plink".$pid."' href='#' alt='".$pname."'>".$pname."</a></p>";
echo "<div class='down_pb clearfix'>";
echo "<p>$ ".$pprice."</p>";
echo "<button type='button' id='productaddbtn".$pid."' class='addcart-btn'>Add to cart</button>";
echo "</div>";
echo "</div>";
}
// Close connection
mysql_close();
?>
不要发送需要在php中操作的字符串,而是发送两个字段:
//js
$('.load_area').load('controllers/genproduct.php', {field: 'category', value: cat});
//php
$condition = array($_POST['field'], $_POST['value']);