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() . '}}';
}

}

祝您编码愉快!

相关文章: