[英]php use associative array in class to construct HTML
我想在一個類中使用關聯數組(PDO查詢的結果),以便可以使用一些數據庫內容構造DIV。
如何在類中獲取數組? 在while循環中,我想創建一個對象,在該對象的Class中,我想要構造HTML。
while($data = $stmt->fetch( PDO::FETCH_ASSOC )){
$html = new class;
echo $html;
}
如果希望while循環能夠像編寫它一樣工作,則可以編寫該類的構造函數,以便它接受數據作為參數,然后在__toString
方法中實現div輸出。
class HtmlDivFormatter {
private $data;
public function __construct($data) {
$this->data = $data;
}
public function __toString() {
return '<div>' . $this->data['column_name'] . '</div>';
// whatever HTML you have in mind
}
}
while ($data = $stmt->fetch( PDO::FETCH_ASSOC )) {
$html = new HtmlDivFormatter($data);
echo $html;
}
參見PDO::FETCH_CLASS
或PDO::FETCH_INTO
更多信息,請參見http://php.net/manual/en/pdostatement.fetch.php,以及此PHP PDO提取到對象中
和一些示例代碼:
<?php
$sql = 'SELECT firstName, lastName FROM users';
$stmtA = $pdo->query($sql);
$stmtA->setFetchMode(PDO::FETCH_CLASS, 'Person');
$objA = $stmtA->fetch();
var_dump($objA);
//first create the object we will fetch into
$objC = new Person;
$objC->firstName = "firstName";
$objC->lastName = "lastName";
$stmtC = $pdo->query($sql);
$stmtC->setFetchMode(PDO::FETCH_INTO, $objC);
$objC = $stmtC->fetch(); // here objC will be updated
var_dump($objC);
class Person{
public $firstName;
public $lastName;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.