include_once里面的函数不起作用

时间:2017-04-23 02:32:31

标签: php

在函数内部我需要包含一个文件。我需要包含的文件包含一个查询。包含文件的结果是

<?php 
$list = $kenmerk_sql->fetch_assoc();

我应该如何使包含工作?我现在这样做的方式不包括文件。

function SelectTime($veld_uur,$veld_min,$naam,$startend,$selected=0)
{
include_once('./includes/getkenmerk.php');
$kenmerk = $list['bk_boekingen_kenmerk'];
Global $_POST;

$ret = "<select name='".$naam."'>
<option value='#' selected>Kies tijd</option>
<option value='#' disabled>############</option>\n";

$qry = "
                    SELECT
                        bk_tijden_id,
                        bk_tijden_titel_naam,
                        bk_tijden.bk_tijden_v".$startend."
                    FROM
                        bk_tijden
                    INNER JOIN
                        bk_tijden_titel
                    ON
                        bk_tijden.bk_tijden_titel_id=bk_tijden_titel.bk_tijden_titel_id
                    WHERE
                        bk_boeking_id=?
                    ORDER BY
                        bk_tijden.bk_tijden_v".$startend.",
                        bk_tijden_titel.bk_tijden_titel_naam
                    ASC";
    if(!$tijden_stmt = $connection->prepare($qry)){
    echo 'Fout in query: '.$connection->error;
    } else {
    $tijden_stmt->bind_param('i', $kenmerk);
    $tijden_stmt->execute();
    $tijden_sql = $tijden_stmt->get_result();
    }
    while($tijden_dienst = $tijden_sql->fetch_assoc()){

    $ret .= "<option value='".$tijden_dienst['bk_tijden_id']."' ".(($tijden_dienst['bk_tijden_id'] == $selected) ? "selected" : "").">".$tijden_dienst['bk_tijden_titel_naam']." (".date('H:i',$tijden_dienst['bk_tijden_v'.$startend]).")</option>\n";
    }
$tijden_stmt->close();  

$ret .= "
</select>";

    return $ret;
}

2 个答案:

答案 0 :(得分:1)

您可以简单地加载包含,然后在脚本中加载内容,但不在您的主叫位置。

如果您致电include,则每次都会添加内容。 如果你打电话给include_once,只会加载一次 - 剩下的时间,这将返回null。

其中一个解决方案是使用定义的函数/类来保存您想要的数据。

其他解决方案是

<?php
return $kenmerk_sql->fetch_assoc();

并在你的功能中:

$list = include( __DIR__ . '/includes/getkenmerk.php');

这样,您始终可以包含数据,例如脚本。

答案 1 :(得分:0)

我认为您可以尝试使用require()而不是include。