簡體   English   中英

php pdo用標頭填充html

[英]php pdo populate html with headers

使用PHP PDO:我想使用針對MySQL數據庫的select語句獲得的信息來創建並填充html表(thead和tbody)。

所有這些都是動態完成的,僅提供基本憑證和表名

自制溶液

首先創建一個連接:

function getConnection1(){
    $dbhost = "localhost";
$dbuser = "test";
$dbpass = "test";
$dbname = "schema name";
$dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $dbh;
}

創建一個返回表的函數:

function retun_html_from_mysql(){

$sql_head = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'schemaname' AND TABLE_NAME = 'table_name';";
$sql_body = "select * from table_name;";

try {
    $db = getConnection1();
    $stmt_head = $db->query($sql_head);
    $stmt_body = $db->query($sql_body);
    $colcount_head = $stmt_head->columnCount();
    $colcount_body = $stmt_body->columnCount();
    $db = null;
    $data =  "<div style='clear: both;'></div>";
    $data .= "<table>";
    $data .= "    <thead>";
    $data .= "        <tr>";
    while ($row = $stmt_head->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
        for ($i=0;$i<$colcount_head;$i++){
            $data .= "<th>$row[$i]</th>";
        }
    }
    $data .= "        </tr>";
    $data .= "    </thead>";
    $data .= "    <tbody>";
    while ($row = $stmt_body->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
        $data .= "<tr>";
        for ($i=0;$i<$colcount_body;$i++){
            $data .= "<td>$row[$i]</td>";
        }
        $data .= "</tr>";
    }
    $data .= "    </tbody>";
    $data .= "    <tfoot>";
    $data .= "        <tr>";
    for ($i=0; $i<$colcount_head;$i++){
        $data .= "<th></th>";
    }
    $data .= "        </tr>";
    $data .= "    </tfoot>";
    $data .= "</table>";        
    echo $data;

} catch (PDOException $e) {
    echo '{"error":{"text":' . $e->getMessage() . '}}';
}


}

編碼愉快!

暫無
暫無

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

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