簡體   English   中英

顯示所有PHP從MySQL數據庫使用功能檢索的行?

[英]display all the rows retrieved by php from mysql db using function?

從db檢索值的類函數

public function retrieveFun()
    {
        include 'inc/main.php';//connecting to db.
        $result = mysqli_query($con,"SELECT * FROM db  order by name DESC");
        while($row = mysqli_fetch_array($result))
          {
            $var = array('name' =>$row['name'] ,
                          'owner'=>$row['owner'],
                          'date'=>$row['date'] );
            // echo $var["name"]."<br/>";
            // echo $var["owner"]."<br/>";
            // echo $var["date"]."<br/><br/>";
            return array($var["name"],$var["owner"],$var["date"]);
          }
    }

和代碼,我要顯示以所需格式檢索的所有行

$obj =  new classname();

$id= $obj->retrieveFun();

echo //here i want to display all the rows retrieved in table format.

請盡快幫我

在while循環中有return語句,這沒有任何意義。 嘗試將return statemanet放在循環之外。 要以表格格式檢索結果,我會這樣做:

public function retrieveFun()
{
    include 'inc/main.php';//connecting to db.

    $result = mysqli_query($con,"SELECT * FROM db  order by name DESC");

    $resutlArray = array();
    while($row = mysqli_fetch_array($result))
    {
        array_push($resultArray, $row);
    }
    return $resultArray;
}

然后以表格格式顯示結果,請使用:

$rows = $obj->retrieveFun();
echo '<table>';
foreach( $rows as $row ) 
{
   echo '<tr>';
   echo '<td>'.$row['name'].'</td>';
   echo '<td>'.$row['owner'].'</td>';
   echo '<td>'.$row['date'].'</td>';
   echo '</tr>';
}
echo '</table>';

return電話置於while循環之外。 目前,只有第一個結果將被存儲,然后返回。 您想要做的是在返回變量之前先填充$var

顯示行時:

$rows = $obj->retrieveFun();
foreach( $rows as $key => $row ) {
    echo $row[$key]['name'];
    echo $row[$key]['owner'];
    echo $row[$key]['date'];
}

請參閱對$key支持的修改。

編輯:

同樣,在獲取結果時,將它們存儲在數組中。

$var = array();
while ( $row = mysqli_fetch_array( $result ) ) {
    $var[] = array( ... );
}

http://www.w3schools.com/Php/php_mysql_select.asp

W3C對於初學者來說是一個了不起的網站。 我鏈接的頁面正是您需要的。 它包含示例和源代碼,以及解釋。 閱讀示例,它將進行解釋,您應該能夠理解它。

如果沒有,請隨時給我發消息,我會盡力而為。

W3C有許多教程,幾乎涵蓋了Web,瀏覽和驚奇的各個方面!

張貼問題之前,最好先上網查詢。 我們在這里為您提供幫助,但前提是您先嘗試自己幫助自己。

希望能幫助到你。 如果您從中得到答案,請將其投票並標記為答案,以便其他人可以更輕松地找到它。

注意:位於第二部分的“在HTML表格中顯示結果”下。

我真的很喜歡MySQLi上的PDO方法,它更加干凈。 這就是我要做的。 class與類內的數據庫連接和公共功能。

類+功能

class Database
{
    private $db = null;

    public function __construct()
    {
        $this->db = new PDO('mysql:host=localhost;dbname=pdo', 'root', 'password');
    }

    public function retrieveFun()
    {
        $query = $this->db->prepare("SELECT * FROM db ORDER BY name DESC");
        $query->execute();
        return $query->fetchAll();
    }
}

然后檢索數據,我使用foreach

if (retrieveFun()) { //Verify if the DB returned any row
    foreach (retrieveFun() as $key => $value) {
        echo $value->name . "<br />";
        echo $value->owner . "<br />";
        echo $value->date . "<br /><br />";
    }
} else {
    echo 'No data found.';
}

如果要在main.php中設置連接,則可以執行以下操作:

//This section goes in the main.php file
define('DB_HOST', '127.0.0.1');
define('DB_NAME', 'db_name');
define('DB_USER', 'root');
define('DB_PASS', 'password');

//You can then call the defined constants like this
$db = new PDO('mysql:host='. DB_HOST .';dbname='. DB_NAME, DB_USER, DB_PASS);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM