【发布时间】:2015-02-04 09:00:04
【问题描述】:
我是一名新手编码员,我很困惑。我正在编写一个简单的代码,它从 mysql db 获取一些数据并将其发布在我的 CMS (umi cms) 网页上。问题是 cms 希望我将此代码放入自定义模块(.php 文件,其中包含我需要创建函数的新类)。我做到了,但它看起来并不优雅,因为我想让 db 连接变量成为全局类并且安全。将来我将在这里编写更多的函数,这些函数将使用数据库连接。这是我的模块类文件和底部 lib() 和 getlib() 的 2 个函数。你有什么建议?以某种方式仅返回用于在目标 div 中输出数据的方法
class modulelements extends def_module {
public $per_page;
public function __construct() {
parent::__construct();
//module default code
}
//module default functions
// here are my functions: ))
public function lib ($template = "default", $per_page = false) {
$begin = "<table>
<tr>
<td>Название</td>
<td>Автор</td>
<td>Год</td>
<td>Число экземпляров</td>
<td>Выдано</td>
</tr> " . $this->getlib() ;
$stop = mysqli_close($conn) . "</table>" ;
return $begin . $stop ;
}
public function getlib() {
$servername = "server";
$username = "name";
$password = "pass";
$dbname = "jum";
$conn = mysqli_connect($servername, $username, $password, $dbname);
$sql = "SELECT name, author, year, number, towhom FROM lib";
$conn->set_charset("utf8");
$result = mysqli_query($conn, $sql);
$stop = mysqli_close($conn) ;
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$outlib = Array();
if (mysqli_num_rows($result) > 0) {
// output data of each row into a string
while($row = mysqli_fetch_assoc($result)) {
$outlib[] = "<tr>
<td> ". $row["name"] . " </td>
<td>". $row["author"]. "</td>
<td> ". $row["year"] ."</td>
<td>". $row["number"]. "</td>
<td>". $row["towhom"]. "</td>
</tr> " ;
}
$string=implode("",$outlib);
return $string;
} else {
return "0 results";
}
}
};
【问题讨论】:
标签: php class variables mysqli