Php功能问题

时间:2013-11-24 20:12:12

标签: php

我的功能有问题。我在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(){和}时,一切正常。为什么会这样?

4 个答案:

答案 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);