Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将值传递到lightbox_Php_Javascript_Mysql_Lightbox - Fatal编程技术网

Php 将值传递到lightbox

Php 将值传递到lightbox,php,javascript,mysql,lightbox,Php,Javascript,Mysql,Lightbox,我需要帮助将值传递到lightbox以显示购物车信息 目前我有一个简单的设置,只是显示一个静态句子 Javascript代码: HTML代码: 我已经设置了一个简单的购物车,当前当你添加一个产品时,它会进入购物车页面,在那里它会创建一个会话,并在购物车中显示你的物品,以及删除或继续购物的选项。但是,当你添加一个项目到你的购物车,我需要它显示一个灯箱,显示项目信息和购物车中的其他项目 以下是“添加到购物车”功能的当前代码: 所以我真的认为我的问题是如何将这些动态数据放入我的lightbox 我希望

我需要帮助将值传递到lightbox以显示购物车信息

目前我有一个简单的设置,只是显示一个静态句子

Javascript代码:

HTML代码:

我已经设置了一个简单的购物车,当前当你添加一个产品时,它会进入购物车页面,在那里它会创建一个会话,并在购物车中显示你的物品,以及删除或继续购物的选项。但是,当你添加一个项目到你的购物车,我需要它显示一个灯箱,显示项目信息和购物车中的其他项目

以下是“添加到购物车”功能的当前代码:

所以我真的认为我的问题是如何将这些动态数据放入我的lightbox


我希望我已经充分解释了这一点,并且有人可以帮助我…提前感谢

一个可能的选择是在Javascript中使用全局对象在购物车中存储条目。您可以通过创建一个变量,如“var cartArr=[];”来实现这一点在javascript中,然后在将项目添加到购物车时,编写更新cartArr变量的函数。然后在灯箱中引用它

**请注意,这是未经测试的,只是作为从灯箱访问的一种可能方式的示例。还要注意的是,您需要添加函数来验证商品是否已经在购物车中,然后增加,以及从购物车中删除

希望能有帮助

    <?php
            //Select all of the relevant part details
            $prod_query = 'SELECT * FROM *****.*****';
            $prod_details = db_query_into_array_enhanced($mysql_connection, $prod_query);                       
            $count = count($prod_details);
            for($i = 0; $i < $count; $i++) 
                {?>         
                 <tr>
                    <? $id = $prod_details[$i]['catID'];?>
                     <td><?=$prod_details[$i]['catID'];?></td>
                     <td><?=$prod_details[$i]['shortDescription'];?></td>
                     <td><?=$prod_details[$i]['rrp'];?></td>
                     <td><a href="cart.php?action=add&id=<?=$id;?>">Add To Cart</a></td>
                echo "
                <script type=\"text/javascript\">
                var cartitem = {id:$prod_details[$i]['catID'], desc:$prod_details[$i]['shortDescription'], rrp:$prod_details[$i]['rrp']};
               addToCartJs(cartitem);
                </script>
            ";
                 </tr>
            <?}?>
==追加

    function setCartDisplay(boxNumber){
        var itemdisplay = '';
        for(var i=0; i<cartArr.length;i++){
            var itemdisplay = '<span class="cartdisplay">ItemNo:'+cartArr[i].id+'</span>';
            itemdisplay += '<span class="cartdisplay">Description:'+cartArr[i].desc+'</span>';
        }
        document.getElementById("LightBox"+boxNumber).innerHTML = itemdisplay;
    }
==测试页面=== 使用此选项测试和显示信息及其正在执行的操作。。。这是一个很好的学习机会。记住,为了将来的添加和维护,最好学习和理解您的代码。给一个人一条鱼,你就喂他一天。教一个人钓鱼,你就可以养活他一辈子

<div id="LightBox1" class="box_content" style="display:none;"> 
<script type="text/javascript">
var cartArr = [];

function testCartItem(){
    var cartitem = {id:1001, desc:'description here', rrp:1002 };
    addToCartJs(cartitem);
}

function addToCartJs(item){
  cartArr.push(item);
} 

function setCartDisplay(boxNumber){
    var itemdisplay = '';
    for(var i=0; i<cartArr.length;i++){
        var itemdisplay = '<span class="cartdisplay">ItemNo:'+cartArr[i].id+'</span><br>';
        itemdisplay += '<span class="cartdisplay">Description:'+cartArr[i].desc+'</span>';
    }
    document.getElementById("LightBox"+boxNumber).innerHTML = itemdisplay;
    document.getElementById("LightBox"+boxNumber).style.display="block";
}

testCartItem();
console.log(cartArr);
setCartDisplay(1);
</script>

嗨,谢谢你的回答,大部分对我来说是有意义的,但是你的代码让我有些困惑。我知道您从数据库中获取数据并将其推送到javascript数组中。然后如何获取此阵列并将其显示在我的lightbox中?目前,它只是显示一个静态句子,我已经附加了一个可能的方法来访问灯箱中的cartArr的示例。由于对象是javascript,我们需要使用javascript或jQuery显示。将div或span添加到lightbox/每个lightbox实例,然后进行类似于上面附加的示例的填充。希望这能再次帮助汉克斯。老实说,我不知道该怎么处理你的代码,我对此经验不足。我已经将所有javascript放在一个单独的文件中,我希望这是可以的。但是我真的不知道如何使用你给我的代码,我已经添加了一些脚本来帮助你创建一个测试页面,看看代码在做什么。这是一个很好的学习工具,可以帮助您了解这些方法以及它们在将来需要查看的事件中所做的工作。祝你好运。谢谢你这对我来说很好。我想我明白了,但我现在只是在修补它,以达到预期的效果。谢谢你的帮助:
    <?php
            //Select all of the relevant part details
            $prod_query = 'SELECT * FROM *****.*****';
            $prod_details = db_query_into_array_enhanced($mysql_connection, $prod_query);                       
            $count = count($prod_details);
            for($i = 0; $i < $count; $i++) 
                {?>         
                 <tr>
                    <? $id = $prod_details[$i]['catID'];?>
                     <td><?=$prod_details[$i]['catID'];?></td>
                     <td><?=$prod_details[$i]['shortDescription'];?></td>
                     <td><?=$prod_details[$i]['rrp'];?></td>
                     <td><a href="cart.php?action=add&id=<?=$id;?>">Add To Cart</a></td>
                echo "
                <script type=\"text/javascript\">
                var cartitem = {id:$prod_details[$i]['catID'], desc:$prod_details[$i]['shortDescription'], rrp:$prod_details[$i]['rrp']};
               addToCartJs(cartitem);
                </script>
            ";
                 </tr>
            <?}?>
var cartArr = [];

function addToCartJs(item){
  cartArr.push(item);
} 
    function setCartDisplay(boxNumber){
        var itemdisplay = '';
        for(var i=0; i<cartArr.length;i++){
            var itemdisplay = '<span class="cartdisplay">ItemNo:'+cartArr[i].id+'</span>';
            itemdisplay += '<span class="cartdisplay">Description:'+cartArr[i].desc+'</span>';
        }
        document.getElementById("LightBox"+boxNumber).innerHTML = itemdisplay;
    }
<div id="LightBox1" class="box_content" style="display:none;"> 
<script type="text/javascript">
var cartArr = [];

function testCartItem(){
    var cartitem = {id:1001, desc:'description here', rrp:1002 };
    addToCartJs(cartitem);
}

function addToCartJs(item){
  cartArr.push(item);
} 

function setCartDisplay(boxNumber){
    var itemdisplay = '';
    for(var i=0; i<cartArr.length;i++){
        var itemdisplay = '<span class="cartdisplay">ItemNo:'+cartArr[i].id+'</span><br>';
        itemdisplay += '<span class="cartdisplay">Description:'+cartArr[i].desc+'</span>';
    }
    document.getElementById("LightBox"+boxNumber).innerHTML = itemdisplay;
    document.getElementById("LightBox"+boxNumber).style.display="block";
}

testCartItem();
console.log(cartArr);
setCartDisplay(1);
</script>