我对PHP很新,所以如果这是一个愚蠢的问题,请原谅。
我有一个单独的PHP文件,其中包含一些函数,它们最初与HTML站点位于同一文档中,但我想将它们移动到自己的PHP文件中。
最初在HTML中,我将PHP连接到SQL服务器,然后运行SQL查询,然后我希望该查询的结果填充一个下拉框,因此返回的查询中的每一行都是一个,这很好用但当我将所有功能移到单独的PHP文件中时,它就不再有效了。
我现在有一个函数,它连接到数据库,运行查询然后尝试写输出,但我认为这部分导致问题。
我已经包含了这个新的PHP函数文件。
这是功能:
function results() {
$connection = db();
$smt = $connection->prepare('SELECT * FROM tblResults');
$smt->execute();
$data = $smt->fetchAll();
foreach ($data as $row) {
echo "<option>".$row['Score']."</option>";
}
}
在HTML中我有这个代码来调用函数:
<select class="selectpicker" data-live-search="true" data-width="auto">
<?php results(); ?>
</select>
正如我所说的,我是PHP的新手,所以如果这是一个明显的错误或格式错误,我很抱歉。
非常感谢任何帮助。
答案 0 :(得分:0)
你不能以这种方式调用函数...你需要首先包含php文件然后你可以调用函数,如果它没有包含在类中,否则你需要创建一个对象来调用函数。 / p>
答案 1 :(得分:0)
首先你必须包含功能文件 试试这个
<select class="selectpicker" data-live-search="true" data-width="auto">
<?php include("******.php"); ?>
<?php results(); ?>
答案 2 :(得分:0)
您需要使用HTML代码将PHP文件包含在文件中。
<?php
include("fileName.php");
?>
答案 3 :(得分:0)
使用以下代码
$smt = $connection->prepare('SELECT * FROM tblResults');
$smt->execute();
$data = $smt->fetchAll();
<select class="selectpicker" data-live-search="true" data-width="auto">
<?php
foreach ($data as $row) {
?>
<option><?php echo $row['Score'] ?></option>;
<?php } ?>
</select>
答案 4 :(得分:0)
我不确定问题是什么,但我已设法修复它。
其中一个功能是与数据库的连接,它有一个session_start();在它内部,虽然我在开头包含了这个函数的php文件,看起来我还要放入session_start();在我的函数结果的开头();所以它现在看起来像这样。
function results() {
session_start();
//databse connection Sting
$connection = new PDO("sqlsrv:server=localhost;Database=Results", "user", "password");
$smt = $connection->prepare('SELECT * FROM tblResults');
$smt->execute();
$data = $smt->fetchAll();
foreach ($data as $row) {
echo "<option>".$row['Score']."</option>";
}
}
同样,我不确定为什么我需要建立session_start,但似乎已经解决了这个问题。
感谢您的所有回复,您帮我解决了问题。
干杯!
答案 5 :(得分:0)
将上述函数放在php文件中假设resultfile.php
<?php
function results() {
$connection = db();
$smt = $connection->prepare('SELECT * FROM tblResults');
$smt->execute();
$data = $smt->fetchAll();
foreach ($data as $row) {
echo "<option>".$row['Score']."</option>";
}
}
?>
将index.html扩展名更改为index.php,并在beginnig中添加以下行
所以你应该有两个php文件,一个带有php函数,另一个带有你的html代码并包含php。
如果正确配置了db(),则调用index.php应该生成结果。如果您是新的
,请尝试使用简单的回声