如何在页面加载时调用php函数

如何在页面加载时调用php函数,php,Php,我需要在页面加载时调用php函数 这意味着当我单击页面Homepage.php的链接或菜单时,它将重定向到名为History.php的页面。 在加载页面History.php之前,它需要调用函数从数据库中获取数据 请花宝贵的时间回答这个问题。提前感谢。Top of History.php: <?php include('/path/to/php/program/with/function.php'); the_function(); 您是向浏览器发送任何响应的人,因此只需

我需要在页面加载时调用php函数

这意味着当我单击页面Homepage.php的链接或菜单时,它将重定向到名为History.php的页面。 在加载页面History.php之前,它需要调用函数从数据库中获取数据

请花宝贵的时间回答这个问题。提前感谢。

Top of History.php:

<?php
    include('/path/to/php/program/with/function.php');
    the_function();

您是向浏览器发送任何响应的人,因此只需在发送页面其余部分之前调用任何函数(在PHP页面开始时执行)。

您还可以尝试以下操作:

history.php

<?php 

function getData(){
  // function body  
}

$data = getData();

?>


但是,如果您在许多地方使用这种类型的函数,那么您应该将其放在一个文件中,并将其包含在要调用此函数的文件中。如昆廷所述。

PHP运行时是一个解释器,它将“自动”(除非另有配置)运行
.PHP
文件。这意味着
标记中的所有代码都将由PHP引擎执行。因此,您可以在页面中首先放置一个php代码块。或者直接包含从服务器获取数据的逻辑

范例

// Example code taken from php website
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';

$query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
    mysql_real_escape_string($firstname),
    mysql_real_escape_string($lastname));

// Perform Query
$result = mysql_query($query);

// Check result
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
    $message  = 'Invalid query: ' . mysql_error() . "\n";
    $message .= 'Whole query: ' . $query;
    die($message);
}

// Use result
// Attempting to print $result won't allow access to information in the resource
// One of the mysql result functions must be used
// See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($row = mysql_fetch_assoc($result)) {
    echo $row['firstname'];
    echo $row['lastname'];
    echo $row['address'];
    echo $row['age'];
}

mysql_close($link);
如果您想要持久连接,请使用
mysql\u pconnect()
而不是
mysql\u connect()

不过,我强烈建议您至少将数据库逻辑放在一个类中,该类驻留在一个单独的文件中,您可以使用
include()
include\u once()
require()
require\u once()
将其包含在内

如果这是一个更大系统的一部分,并且您有时间,我建议您阅读MVC模式,并研究像Zend framework或类似的具有良好数据库抽象等的框架


祝你好运

如果调用History.PHP,PHP仍将运行。无论您需要运行什么代码来获取数据,您都可以在那里执行。为什么这还不够?或者你的意思是什么?因为PHP在加载页面之前运行,所以只需在history.phpYes@Pekka中调用你的函数,但我需要调用一个应该在history.PHP页面下载(执行)之前执行的函数。然后在任何输出之前将PHP代码放入history.PHP中。这是执行此操作的常用方法。如果我将其包含在文件的顶部,该文件包含函数(DB链接),并且如果调用该函数,则该函数将在页面获得执行之前执行。是。。。记住,它是你的PHP文件发送任何东西回来,所以你有完全的控制权。如果你的PHP页面什么都没做,浏览器将不会得到响应。在执行之前?否-如果不在执行函数的过程中,就不能调用函数。在下载之前?是-由于它位于顶部,因此没有任何输出,因此没有生成任何内容供浏览器下载。