[英]PHP echo message
我正在使用正在使用的购物篮时,正在创建一个在线商店网站。 我正在尝试添加一项功能,一旦用户单击“添加”按钮,确认该项目确实已添加到购物篮中,该功能就会回显一条消息。
我创建了一个简单的if语句,我认为它应该很好地解决此问题,但是什么也没有发生。 没有消息回显。
码:
if (isset($_GET['add'])){
$quantity = mysql_query('SELECT product_id, product_qua FROM products WHERE product_id='.$_GET['add']);
while($quantity_row = mysql_fetch_assoc($quantity)){
if($quantity_row['product_qua'] !=$_SESSION['cart_'.$_GET['add']]){
$_SESSION['cart_'.$_GET['add']]+='1';
}
}
}
if (isset($_GET['add'])){
$basketMessage = "Item Sucesfully Added To Your Basket";
echo $basketMessage;
}
有什么建议么...?
回答:
好,忘记上面的代码........
belov代码是文件形式的代码,其中列出了产品,然后将上面的代码片段链接到cart.php:
码:
while($get_row = mysql_fetch_assoc($get)){
?>
<table id='display'>
<tr><td><?php echo "<img src=$get_row[$product_image] class='grow'>" ?></td></tr>
<tr>
<th></th>
<th><strong>Avalible</strong></th>
<th><strong>Price</strong></th>
<th><strong>Description</strong></th>
</tr>
<tr>
<td width='290px'><?php echo "$get_row[$product_name]" ?></td>
<td width='290px'><?php echo "$get_row[$product_qua]" ?></td>
<td width='290px'><?php echo "£ $get_row[$product_price]" ?></td>
<td width='290px'><?php echo "$get_row[$product_des]" ?></td>
</tr>
<tr>
<td><?php echo '<a href="cart.php?add='.$get_row['product_id'].'" onclick="return basketMessage()">Add</a>';?></td>
</tr>
</table>
<?php
}
}
?>
<script>
function basketMessage(){
var confirmed = confirm("Add this item to Basket ?");
return confirmed;
}
</script>
好的,因为大家都能从代码中看到我正在循环产品数据库并列出一些用ADD按钮分配的项目.....现在我在此按钮中添加了一些JavaScript通知用户是否这是他们想要的项目添加到他们的篮子里
不重新发送整个页面,这在php中是不可能的。 您可以使用javascript对某些按钮单击事件做出反应。
与jQuery结合使用时,结果如下所示
<div id="messagefield"></div>
<button id="buttonid">click me!</button>
<script>
$("#buttonid").click(function() {
$("#messagefield").html("The button was clicked");
});
</script>
如@patashu所述,仅靠PHP不可能做到这一点。 您应该添加用于处理通过AJAX将商品添加到购物车中的商品的javascript,然后侦听您已回显的响应,如果成功,则显示成功消息。
这可能是一个起点:
的HTML:
<button class="mybutton">add to cart</button>
javascript:
<script type="text/javascript">
$(document).ready(function(){
$('.mybutton').click(function(){
$.ajax({
url:"yourscript.php",
data: {stuff: 'your cart data', productid: 134}
success: function(data){
alert("your success message');
}
});
});
});
</script>
正在侦听您的ajax调用的PHP函数:
//does stuff
$basketMessage = "Item Sucesfully Added To Your Basket";
echo json_encode($basketMessage);
显然,这还不完整……这实际上只是一个起点/您应该做的一般性想法。
首先,您在此行有一个错误:
$quantity = mysql_query('SELECT product_id, product_qua FROM products WHERE product_id='.$_GET['add']);
如果必须
$add = $_GET['add'];
$quantity = mysql_query("SELECT product_id, product_qua FROM products WHERE product_id='$add'");
要么
$quantity = mysql_query("SELECT product_id, product_qua FROM products WHERE product_id='".$_GET['add']."'");
而且您也不必使用mysql_ *,不再使用任何原因。 您可以使用http://php.net/manual/en/book.mysqli.php或http://php.net/manual/en/book.pdo.php
为什么要分两个阶段进行? 尝试这个:
if (isset($_GET['add'])){
$quantity = mysql_query('SELECT product_id, product_qua FROM products WHERE product_id='.$_GET['add']);
while($quantity_row = mysql_fetch_assoc($quantity)){
if($quantity_row['product_qua'] !=$_SESSION['cart_'.$_GET['add']]){
$_SESSION['cart_'.$_GET['add']]+='1';
}
}
$basketMessage = "Item Sucesfully Added To Your Basket";
echo $basketMessage;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.