我试图在echo中调用PHP函数

时间:2016-09-03 13:00:46

标签: php database function

我正在尝试从function.php调用getMensClo​​thing()函数到header.php

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "khaki";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 


function getMensClothing(){
global $conn;

$sql = "SELECT * FROM men_clothing";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
    echo "<li><a href='#' class='hvr-grow'>". $row['men_clo_items']."      </a></li>";
    }
} 
}

header.php文件看起来像这样

<?php include 'functions.php'; ?>
<?php
     echo' 
          <div class="col-sm-2"><br>
                <a href="men\'s_clothing.php"><p> <b>Men\'s Clothing</b></p></a>
                <ul>
                '.getMensClothing().'
                </ul>
           </div>'
?>

函数被调用,但项目不显示在页面顶部显示的所有内容。如何显示div内的项目?

3 个答案:

答案 0 :(得分:4)

使用以下代码

$html = "";
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
    $html .= "<li><a href='#' class='hvr-grow'>". $row['men_clo_items']."</a></li>";
    }
} 
return $html;

进入你的function.php文件

答案 1 :(得分:0)

创建一个类似

的类
class support{

//inside goes codes and functions

}

在调用另一个文件时。

将其包含在文件上方然后创建

$a=new support()
$a->functionname();

这应该可以解决问题

答案 2 :(得分:0)

您使用带有参数的echo会被评估为打印 您对echo的参数使用连接 您有一个参数由三个参数的串联构成。 打印此连接的结果。其中一个参数是getMensClothing()函数的返回值。

在评估getMensClothing()期间,您会打印一些数据 因此,功能getMensClothing()中打印的数据会在echo中对header.php语句的调用结束之前打印出来。

正如其他人所指出的那样,您应该重新考虑您的技术,因为如果您将检索和构建数据以及显示数据的工作分开,您的代码可能会更容易使用。例如,请查看MVC