【问题标题】:how to update an include php without refresh in all page如何在不刷新所有页面的情况下更新包含 php
【发布时间】:2016-10-09 17:51:23
【问题描述】:

我只需要更新页面的一部分,其中包含具有特定路径的包含 php。如何仅更新包含在此包含中的此文件。

代码是这样的:

<tbody>
   <?php include_once "tabelas/table.php";  ?>
</tbody>

我正在做的实际上是调用一个函数 javascript,它会更新并且它会更新,但它不会在此包含 php.ini 中进行更新。提前谢谢!

(我不想在 ajax 中做 require,因为它是一个数据表,在这种情况下它只适用于 include php,所以我需要一个 php 中的解决方案)

【问题讨论】:

  • 我不明白你的意思,但你可以将你的包含包装在一个 if 语句中,以便在满足特定条件时运行......
  • 如果你想在不刷新页面的情况下从 PHP 中提取数据,那么无论你喜欢与否,AJAX 都是解决方案。或者我想你可以使用 iframe 并重新加载框架。
  • (我不想用ajax拉数据,因为它不适合我)它可能是通过javascript调用include php,你知道怎么做吗?
  • calling an include php through javascript 你的意思是你想异步执行?比如使用AJAX!?!
  • 严肃地说,AJAX 似乎正是您所要求的,但您似乎并不真正知道它是什么,所以说您不想使用它。

标签: php include


【解决方案1】:

如果不使用 AJAX,您不能只使用 PHP 更新页面的一部分。 Javascript AJAX 调用将运行一个 PHP 脚本,该脚本可以使用 PHP 访问数据库并返回结果。

您需要一个 Javascript 函数来进行 AJAX 调用:

<script>
function jsupdate(returnid) {
 xmlhttp=new XMLHttpRequest();
 xmlhttp.onreadystatechange=function()  {
 if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    document.getElementById(returnid).innerHTML=xmlhttp.responseText;
 }
}
xmlhttp.open("GET","databasecall.php,true);
xmlhttp.send();

}

然后您将需要一个名为“databasecall.php”的 PHP 脚本来访问数据库,因此将包含以下内容:

//first include your database connection

 $sql = "SELECT * from mytable limit 1 ";
 $result = mysql_query($sql) or die ('Error: XXX000');
 if (mysql_num_rows($result) > 0) {
  $row = mysql_fetch_array($result);
  echo $row[0];
 }
 else {
   echo 'No such database table entry';
 }

回显结果返回到 Javascript。

【讨论】:

  • 那么如何通过 js 包含一个 php 文件,因为我不想使用 ajax 请求,所以在这种情况下它对我不起作用,谢谢
【解决方案2】:

这实际上取决于您何时尝试更新包含页面中的信息。

如果您想在页面处理完毕后更新它,则必须在必要时使用 JavaScript + Ajax 进行加载和更新。

另一方面,如果您在页面仍在处理时尝试执行此操作,则可以使用变量 + 对象 + 数组来存储输出数据。这样您就可以在需要时更新它们。然后在处理结束时,您可以实际输出/回显/打印数据。

许多人通过在 php 中使用 DOM 扩展名或使用 Output Buffering 来实现此目的。

【讨论】:

  • 那么在这个include php中如何定义更新这些信息的时间呢?
  • 你没有定义时间。如果您只想在页面加载之前更新信息,请使用 php.ini。如果页面加载后需要更新信息,则需要使用 javascript + ajax。
  • 我得出一个结论,那就是在 js 中做,谢谢大家我要关闭这个话题
猜你喜欢
  • 1970-01-01
  • 2011-06-15
  • 1970-01-01
  • 2011-02-23
  • 2017-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-20
相关资源
最近更新 更多