我对PHP OOP很陌生,我必须为学校制作一个小型web应用程序。
我正在努力做的一件事是从数据库中选择数据并将其显示在我的前端。我想好了如何显示一行,但我想显示表中的所有行。我该怎么做?
我的功能:
public function listJobs(){
$myDb = $this->_controlPanel->getMyDb();
$query = "Select * FROM jobs_offers";
$result = $myDb->performQuery($query);
$row = $result->fetch_array(MYSQLI_ASSOC);
$this->title=$row['title'];
$this->description=$row['description'];
$this->category=$row['category'];
$this->budget=$row['budget'];
}
我的前端:
<?php
header ('Content_type: text/html; charset=ISO-8859-1');
require_once ('utils/Autoloader.php');
session_start();
if (empty($myControlPanel)) {
try {
$myControlPanel = new classes_ControlPanel();
$myControlPanel->setMyDb(new classes_DbManager());
$myDbManager = $myControlPanel->getMyDb();
}
catch (Exception $e) {
echo $e->getMessage();
die();
}
}
$log = new classes_UserManager($myControlPanel);
$select = $log->listJobs();
$title = $log->title;
$description = $log->description;
$category = $log->category;
$budget = $log->budget;
?>
<body>
<div class="container-fluid">
<h2>
<h2><?php echo $title; ?> </h2>
<h2><?php echo $description; ?> </h2>
<h2><?php echo $category; ?> </h2>
<h2><?php echo $budget; ?> </h2>
</div>
首先,结果将返回一个对象数组(PDO)。您可能希望将此数组返回到您的视图中。或者,在您的情况下,作为对象的属性,而不是像上面那样的单行。
接下来,您要在视图中使用foreach或while循环。如果您正在使用PDO(Php数据对象),则可以执行以下操作。
while($job = $result->fetch_assoc()) {
{
?>
<div class="container-fluid">
<h2>
<h2><?= $job->title; ?> </h2>
<h2><?= $job->description; ?> </h2>
<h2><?= $job->category; ?> </h2>
<h2><?= $job->budget; ?> </h2>
</div>
<?php
}
(短标签(<?=$var?>
)等同于<?php echo $var?>
)
参考:http://www.w3schools.com/php/php_mysql_select.asp