gpt4 book ai didi

php - 生成包含数据的页面而无需重新加载页面

转载 作者:行者123 更新时间:2023-11-29 23:15:50 26 4
gpt4 key购买 nike

我在尝试构建一个基于 MySQL 数据库生成内容的移动应用程序时遇到了以下问题。我的问题是,当我想从页面“A”转到页面“B”时,页面“B”完全是空的,除非页面“B”在新选项卡中打开,在这种情况下,它会显示请求的内容,而不显示任何内容缺陷。

我使用的代码(简化):

<div data-role="page" id="main">
<div data-role='header' data-position='fixed'>
<a href='#home' class='ui-btn-right' data-icon= 'home' data-iconpos='notext' data-direction='reverse'></a>
<h2>Activities</h>
</div>
<?php
//(I'll keep the login and connection code out since it is irrelevant to the problem)

$result = mysql_query("SELECT DISTINCT profession FROM members",$mysql) or die("");
$query_amount = mysql_query("SELECT richting, COUNT(*) AS aantal FROM sport GROUP BY profession",$mysql) or die("");
$query_membernr = mysql_query("SELECT membernr FROM members",$mysql) or die("");


while(list($r) = mysql_fetch_row($query_amount))
{

$profession[]=$r;

print ("
<div data-role='content'>
<ul data-role='listview' data-inset='false' id='pag1'>
<li>
<a href='index.php?richtingstack=$r#2a'>
<img src='images/something.jpg' height='80' align='middle' />
<p><h2>
$r
</h2></p>
</a>
</li>
</ul>
</div>
<div data-role='footer' data-position='fixed'><h2>Kies een activiteit</h2>
</div>"
) ;


}

?>


</div>

此页面(页面“A”)运行完美,由所请求数据的菜单生成。它创建所有数据库用户的职业列表。 (成员)

当有人按下此列表中的一个按钮时,它应该转到一个页面(无需重新加载整个应用程序),其中包含该职业适用的成员列表。此页面是页面 2a,并与 GET 变量组合在一起。

出于某种原因,当我单击其中一个按钮时,会出现第 #2a 页,但除了页眉和页脚之外完全没有内容,这两者当然都不会生成。

但是,如果我右键单击其中一个按钮并在新选项卡中打开链接(可以这么说,在不同的选项卡中重新加载应用程序),它就可以完美运行。如果有人能告诉我我做错了什么以便我可以继续,我将非常感激。

最佳答案

PHP 无法在运行后创建内容。

您正在搜索的是 AJAX(异步 JavaScript 和 XML)。基本上,它允许您从任何地方提取内容,而无需重新加载页面。客户端部分是纯javascript。例如,您可以加载页面 http://yourdoma.in/index.php?tab=B然后将您的 div data-role="content" 替换为该页面中的文本。

就我个人而言,我更喜欢使用 jQuery 进行 AJAX,因为使用纯 javascript 进行的所有错误处理的编写和读取会变得非常烦人。您可以找到 jQuery AJAX 文档 here 。或者,如果您想使用纯 JavaScript,here .

关于php - 生成包含数据的页面而无需重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27818934/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com