我对jquery
很陌生,但我想知道它们是否是一种使用下面的jquery运行mysql
的方法。
在我的cart.php
中,我有一个查询
,用于检查发布的内容是否在数据库中,如果不是,则不会添加该项目。
在我的 view.php 页面中,这是下面的 jquery
和 hidden div
所在的位置。当您单击 add 按钮
隐藏的 div 显示您已添加的内容。
<button type="submit" name="submit" class="show_hide" id="button" name="submit">Add</button>
Jquery
$(document).ready(function(){
$('#selected').hide();
$('#button').click(function(){
var pid = $('#pid').val();
var length = $('#length option:selected').text();
var Category = $('#Category').val();
var cat = $('#Category option:selected').text();
var Qty = $('#Qty').val();
var qty = parseInt($('#Qty').val());
var price = parseFloat($('#pricetag').text().replace(/^\D/, ''), 10) * qty;
price = '\u00A3' + price.toFixed(2);
var category = $('#Category').val();
if (!/^[1-9]\d?$/.test(Qty)){
alert('Quantity should not be below 1 or null');
return false; // don't continue
}
else {
$('#sprice').text(price);
$('#scategory').text(cat);
$('#slength').text(length);
$('#selected').slideDown();
}
$.ajax({
url: '../cart.php',
type: 'POST',
data: { pid:pid,
length:length,
Qty:Qty,
Category:Category },
success: function(data)
{
location.reload();
}
});
});
});
隐藏div
<div id="selected">
<table class="tableclass">
<tr>
<td>Price:</td>
<td id='sprice'></td>
</tr>
<tr>
<td>Category:</td>
<td id='scategory'></td>
</tr>
<tr>
<td>Length:</td>
<td id='slength'></td>
</tr>
</table>
</div>
已编辑 添加查询代码
在 cart.php 页面中我有这个查询
$statement = $conn->prepare("SELECT * FROM Category ct, Itemised ip, Product pd
WHERE ct.CatID = ? AND ip.Length = ? AND pd.pid = ?
");
$statement->execute(array($Category, $length, $pid));
if (!$statement->fetch()) {
exit();
}
我用它来检查数据库中是否存在发布的内容。这或多或少与我想在 jquery 中运行的查询相同,以检查 var
是否存在,如果不存在,则 url:./cart.php
不应运行。
已更新以显示我的 cart.php 代码
if(isset($_POST['pid']) && isset($_POST['length']) && isset($_POST['Qty']) && isset($_POST['Category'])){
$pid = $_POST['pid'];
$length = $_POST['length'];
$qty = $_POST['Qty'];
$Category = $_POST['Category'];;
$wasFound = false;
dbconnect();
$statement = $conn->prepare("SELECT * FROM Category ct, Itemised_Product ip, Product pd
WHERE ct.CatID = ? AND ip.ItemID = ? AND pd.Sef = ?
");
$statement->execute(array($Category, $length, $pid));
if (!$statement->fetch()) {
exit();
}
$i = 0;
// If the cart session variable is not set or cart array is empty
if (!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1) {
// RUN IF THE CART IS EMPTY OR NOT SET
$_SESSION["cart_array"] = array(0 => array("item_id" => $pid, "length" => $length, "Category" => $Category, "quantity" => $qty));
} else {
// RUN IF THE CART HAS AT LEAST ONE ITEM IN IT
foreach ($_SESSION["cart_array"]as $array_key=>$each_item) {
if ($each_item['item_id'] == $pid && $each_item['length'] == $length && $each_item['Category'] == $Category) {
$_SESSION["cart_array"][$array_key]['quantity']+=$qty;
$wasFound = true;
}
}
if ($wasFound == false) {
array_push($_SESSION["cart_array"], array("item_id" => $pid, "length" => $length, "Category" => $Category, "quantity" => $qty));
}
}
header('Location: '.fetchinline($bpages).$currentFile);
exit();
}
我的问题
在购物车页面中,我有一个查询,它检查用户是否未检查发布的内容。我想对上面的 jquery 执行相同的操作,如果用户有
我想停止,我想停止显示隐藏的div
。
希望我的解释能让您理解。感谢您抽出时间。
最佳答案
我不确定我是否完全理解你的问题。是吗:
- 按“添加”按钮
- AJAX 请求检查产品是否存在
- 如果是,那么显示隐藏的div?
或者
- 按“添加”按钮
- 显示隐藏字段并提供更多信息
- 将产品添加到购物车
无论如何,在上述两种情况下,您都可以向服务器发出 AJAX 请求并检查产品是否存在。如果您查看 $.ajax success 函数,那么“数据”实际上是来自服务器的响应,您可以包含您需要的任何内容并使用 javascript/jquery 处理数据。
关于php - 使用Jquery与数据库进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18147413/