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 方法,我可以为您列出步骤,但您必须自己研究它们:
- 修改您调用的 PHP 脚本以将元素添加到 return JSON 格式(参见 http://php.net/manual/en/function.json-encode.php)
- 按下添加按钮,创建一个 AJAX 请求到先前修改的 PHP 脚本(参见 http://api.jquery.com/jquery.ajax/,忽略长文本,从查看下面的简单示例开始页)
- 在 JavaScript 中使用您需要插入页面的 HTML 代码创建一个字符串变量
- 从 PHP 获取 JSON 响应并将其添加到先前创建的变量中
- 使用 jQuery append() 函数在页面中添加 HTML 代码(参见 http://api.jquery.com/append/)
如果你想要更简单的方法,你必须定义一些不可见的锚点(<a name="card3"></a>
),然后重定向到一个以#anchor-name 结尾的URL,例如http://yourdomain.com/yourpage.php#card3
我知道这只能通过 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 方法,我可以为您列出步骤,但您必须自己研究它们:
- 修改您调用的 PHP 脚本以将元素添加到 return JSON 格式(参见 http://php.net/manual/en/function.json-encode.php)
- 按下添加按钮,创建一个 AJAX 请求到先前修改的 PHP 脚本(参见 http://api.jquery.com/jquery.ajax/,忽略长文本,从查看下面的简单示例开始页)
- 在 JavaScript 中使用您需要插入页面的 HTML 代码创建一个字符串变量
- 从 PHP 获取 JSON 响应并将其添加到先前创建的变量中
- 使用 jQuery append() 函数在页面中添加 HTML 代码(参见 http://api.jquery.com/append/)
如果你想要更简单的方法,你必须定义一些不可见的锚点(<a name="card3"></a>
),然后重定向到一个以#anchor-name 结尾的URL,例如http://yourdomain.com/yourpage.php#card3