php 函数后如何在自动刷新页面上保持我的位置

How can I mantain my position on the page on auto refresh after php function

我知道这只能通过 AJAX 实现,但我从未使用过 AJAX...在我的网站上,您可以保留一份您从游戏万智牌,这是一份清单。你必须按一个按钮来添加一张卡片,每张卡片都有这个按钮,当你添加它时,它会将卡片添加到你的列表中,然后刷新并再次出现在页面顶部。我怎样才能让它保持它的位置?这样使用它的人可以轻松地向他们的 collection.

添加卡片

我重新发布这个是因为我没有得到任何有效的答案,我仍然要感谢那些试图帮助我的人!

在红色方块内,您可以按添加或删除:http://prntscr.com/5uq6ak

添加卡的功能:

//Add card to collection
function addCardToCollection($conn, $userID, $cardID){
//Checks if the cards is already added for this user
    $queryGetCard = 'SELECT user_id, card_id FROM collection WHERE user_id = '.$userID.' AND card_id = '.$cardID;
    $checkCollection = $conn->query($queryGetCard);
    if($checkCollection->fetch_assoc() > 0){return 'Deze kaart hebt u al.';}

//Adds card to the database
    $queryAddCard = 'INSERT INTO collection (user_id, card_id) VALUES ('.$userID.','.$cardID.')';
    if($conn->query($queryAddCard)){return 'Kaart toegevoed.';}
    else{return 'Kaart niet toegevoed.';}
}

按钮和卡片:

<div class="col-md-10">
    <div class="row">
        <div class="col-sm-8">
            <b>Naam:</b> <a href="'.$baseURL.'card.php?multiverseid='.$value['multiverseid'].'&setName='.$result[0]['name'].'">'.$value['name'].'</a>
            <br><b>Beschrijving:</b> '.$value['text'].'
            <br><b>Flavor:</b> '.$value['flavor'].'
            <br><b>Artist:</b> '.$value['artist'].'
            <br>';
            if(login_check($mysqli) == true) {
                $cardsHTML.='<br><b>Deze kaart heb ik...
                <a href="' . $baseURL . 'set.php?id=' . $_GET['id'] . '&cardID=' . $value['id'] . '&collection=add">
                    <div class="glyphicon glyphicon-ok green"></div>
                </a> |
                <a href="' . $baseURL . 'set.php?id=' . $_GET['id'] . '&cardID=' . $value['id'] . '&collection=remove">
                    <div class="glyphicon glyphicon-remove red"></div>
                </a>
                </b>';
            }
         $cardsHTML.='</div>
        <div class="col-sm-4">
            <b>Type:</b> '.$value['type'].'
            <br><b>Mana kosten:</b> '.$value['manaCost'].'
            <br><b>CMC:</b> '.$value['cmc'].'
            <br><b>Power:</b> '.$value['power'].'
            <br><b>Toughness:</b> '.$value['toughness'].'
            <br><b>Zeldzaamheid:</b> '.$value['rarity'].'
        </div>
    </div>
</div>

这是一个广泛的问题。如果您想采用 AJAX 方法,我可以为您列出步骤,但您必须自己研究它们:

  1. 修改您调用的 PHP 脚本以将元素添加到 return JSON 格式(参见 http://php.net/manual/en/function.json-encode.php
  2. 按下添加按钮,创建一个 AJAX 请求到先前修改的 PHP 脚本(参见 http://api.jquery.com/jquery.ajax/,忽略长文本,从查看下面的简单示例开始页)
  3. 在 JavaScript 中使用您需要插入页面的 HTML 代码创建一个字符串变量
  4. 从 PHP 获取 JSON 响应并将其添加到先前创建的变量中
  5. 使用 jQuery append() 函数在页面中添加 HTML 代码(参见 http://api.jquery.com/append/

如果你想要更简单的方法,你必须定义一些不可见的锚点(<a name="card3"></a>),然后重定向到一个以#anchor-name 结尾的URL,例如http://yourdomain.com/yourpage.php#card3