我的web服务器有PHP和MySQL。
数据库中有一个表有关于user的信息。
使用我的网站的用户想要接收一些信息。
所以他或她按下鼠标按钮,然后点击这个按钮的事件,并提交事件的表单。
我使用框架jQuery和在我的javascript(方法.submit()
)我使用AJAX检索必要的信息。
-
首先,我想知道表中是否存在so用户。我收到这个信息使用ajax和php文件-
first.php
。- 如果表中没有关于用户的信息,我将在脚本中报告此信息。
- 如果关于用户的信息没有在表中,但像用户(s)存在(s)在表中,我通知这种情况。
- 如果关于用户的信息在表中我调用命令:
window.location.href = “second.php?param=2&user=userid”
在我的脚本,我必须在表中再次查找必要的信息,并在网页中显示它。
-
所以我的下一个问题是:我如何避免在同一表上重复查询?
我必须在我的网页上显示大约10个帐户的记录。
我想知道。我怎么能传递信息(10帐户的记录)从我的脚本到second.php
文件?
我害怕在脚本中执行第二个命令$.ajax()
。我认为没有必要。
您现在所做的几乎是标准的。如果你不想使用这种方法,那么我建议你查看一下session。
在你的第一页,你需要包括这一行:
<?php
session_start();
then your normal code.
Once you have read the information from the database then place the values into session variables;
$_SESSSION['var1'] = $result['id']; //--- continue for all the values you want to save
在第二页,你需要做相反的
<?php
session_start();
$id = $_SESSION['var1'];
可以将查询结果写入半静态的1 JavaScript代码段:
<?php
// do your query
$result = ...;
echo '<script type="text/javascript">'
. 'var accountData = ' . parseForJavaScript($result) . ';'
. '</script>';
// do your other stuff
然后你可以编写依赖于(不一定是全局的)变量accountData
:
// JavaScript:
doStuff(accountData);
,因为它将被扩展到(如果parseForJavaScript
返回json表示):
<script type="text/javascript">
var accountData = {users: {
0 : { "name" : "John" },
1 : { "name" : "Jack" },
2 : { "name" : "James" }
}};
</script>
当然,JSON对象会根据实际数据结构的不同而有所不同。
或者您可以跳过该变量,直接将数据作为函数参数注入:
<?php
// do your query
$result = ...;
echo '<script type="text/javascript">'
. 'doStuff(' . parseForJavaScript($result) . ');'
. '</script>';
// do your other stuff
1半静态因为它实际上是由php动态生成的,但在查看最终的HTML时看起来是静态的。