我在一个类中有一个函数,它在MySQL数据库中查询数据,这将从数据库中获取大约10行。
示例代码:
<?php
class details {
public function detailsRetrieve() {
try {
$con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$sql = "SELECT * FROM table";
$result = $con->query($sql);
while($row = $result->fetch(PDO::FETCH_ASSOC)) {
$1 = $row['row1'];
$2 = $row['row2'];
$3 = $row['row3'];
$4 = $row['row4'];
}
$con = null;
}catch(PDOException $e) {
echo $e->getMessage();
}
}
}
?>
现在工作正常并从数据库中获取数据。 我把课程包含在一个单独的页面中,如下所示:
<?php
include("class/details.php");
$class = new details();
$class->detailsRetrieve();
?>
如何在这个新页面上实际输出变量(1,2,3,4)?
我知道如果我回显函数中的每个变量,它们将只使用上面的代码自动显示在新页面上,但是我可以在页面上单独输出每个变量吗?
答案 0 :(得分:1)
您需要detailsRetrieve()
返回值。然后,您可以在页面中访问它们。
public function detailsRetrieve() {
try {
$con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$sql = "SELECT * FROM table";
$result = $con->query($sql);
$results = array();
while($row = $result->fetch(PDO::FETCH_ASSOC)) {
$results() = $row;
}
$con = null;
}catch(PDOException $e) {
echo $e->getMessage();
}
}
$details = $class->detailsRetrieve();
foreach ($details as $row)
{
echo 'row 1: ' . $row['row1'] . '<br>';
echo 'row 2: ' . $row['row2'] . '<br>';
echo 'row 3: ' . $row['row3'] . '<br>';
echo 'row 4: ' . $row['row4'] . '<br>';
}
答案 1 :(得分:0)
类
class details {
public function detailsRetrieve() {
try {
$con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$sql = "SELECT * FROM table";
$result = $con->query($sql);
while($row = $result->fetch(PDO::FETCH_ARRAY)) {
$ret[] = array('1' => $row['row1'],
'2' => $row['row2'],
'3' => $row['row3'],
'4' => $row['row4']);
}
$con = null;
if (!empty($ret)) return $ret;
return array();
}catch(PDOException $e) {
echo $e->getMessage();
}
}
}
?>
第二档:
<?php
$det = new details();
$arr = $det->detailsRetrive();
print("<pre>");
print_r($arr);
print("</pre>");
?>