PHP回显消息

时间:2013-03-22 00:31:43

标签: php

我正在创建一个在线商店网站,当时我正在使用正在运行的篮子。我试图添加一个功能,一旦用户点击添加按钮确认该项目确实已被添加到购物篮中,它将回显消息。

我创建了一个简单的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 "&pound $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来通知用户这是否是他们想要添加到购物篮中的商品

4 个答案:

答案 0 :(得分:1)

这不可能在PHP中重新发送整个页面。您可以使用javascript对某些按钮点击事件做出反应。

与jQuery结合使用会产生类似这样的结果

<div id="messagefield"></div>
<button id="buttonid">click me!</button>
<script>
    $("#buttonid").click(function() {
        $("#messagefield").html("The button was clicked");
    });
</script>

答案 1 :(得分:1)

正如@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);

显然这并不完整......这实际上只是一个起点/关于你应该做什么的一般概念。

答案 2 :(得分:0)

首先,你在这一行有一个错误:

$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.phphttp://php.net/manual/en/book.pdo.php

答案 3 :(得分:-1)

为什么你分两个阶段呢?试试这个:

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