我的功能有问题。我在config / funkcije.php中写下它们。在文件夹配置/我有db.php连接到数据库等...当我在浏览器中打开config / funkcije.php时,该页面上没有任何显示,但它应该回显一些来自DB的结果。
这是我的功能:
include 'db.php';
function prikaz_posebne_ponude()
{
$sql = "SELECT * FROM posebna_ponuda ORDER BY id DESC LIMIT 1";
$sql1 = $mysqli->query("$sql");
while ($row = $sql1->fetch_assoc()) {
$glavni_naziv = $row[$lang];
if (empty($glavni_naziv)) {
echo '';
} else {
echo "<div class='row-banner'>";
echo "<h3><span>" . $langArray['rezervacija_smjestaja'] . "</span></h3>";
echo "<p>" . $glavni_naziv . "</p>";
echo "</div>";
}
}
}
但是当我在最后一行删除函数prikaz_posebne_ponude(){和}时,一切正常。为什么会这样?
答案 0 :(得分:5)
你定义一个功能,但你永远不会调用它。函数是可重用的代码片段,但要执行包含的语句,您必须调用这样的函数:
prikaz_posebne_ponude();
您还需要告诉PHP一些变量是全局的(在您的函数内):
global $mysqli;
global $langArray;
global $lang;
答案 1 :(得分:2)
首先,您在函数外部定义的函数中使用的变量需要是全局变量:
function prikaz_posebne_ponude()
{
global $mysqli;
global $langArray;
....
}
然后,您需要调用该函数才能运行:
prikaz_posebne_ponude();
答案 2 :(得分:0)
在此prikaz_posebne_ponude()的末尾添加;你会看到结果。 函数是作为一段代码在每次需要时调用。
答案 3 :(得分:0)
您可以将必要的变量解析为函数:
function function_name ($con,$LangArray,$Lang){
/*
Manipulate here
*/
}
或使它们成为全球性的:
function function_name(){
global $mysqli;
global $langArray;
global $Lang;
}
然后致电:
$LangArray = array("test","test_1");
$Lang = "Value";
$mysqli = new mysqli("127.0.0.1","user","pass","db");
function_name($mysqli,$LangArray,$Lang);