繁体   English   中英

将数据从SQL Server数据库导入HTML表

[英]Import Data from SQL Server Database Into HTML Table

我的数据库表中有很多行,因此我无法对其中的任何内容进行硬编码。我假设我需要某种循环,该循环遍历数据库中的行,然后将其显示到HTML表中。 到目前为止,这是我的代码...您能告诉我我需要做什么吗?

<html>
<head>
    <title>Stage Rebate Master HTML Table</title>
</head>

<body>
    <?php
        $host="xxxxx";
        $dbName="xxxxx";
        $dbUser="xxxx";
        $dbPass="xxxxxxxxx";
        $dbh = new PDO( "sqlsrv:server=".$host."; Database=".$dbName, $dbUser, $dbPass); var_dump($dbh);

        if (!$dbh) {
            die("Connection failed: " . sqlsrv_connect_error());
        }
        echo "Connected successfully";

        $results = sqlsrv_query("SELECT * FROM Stage_Rebate_Master ORDER BY MR_ID ASC");

        $id = 'MR_ID';
        $name = 'MR_Name';
        $buyer = 'Buyer_ID';
        $poc_name = 'MR_POC_N';
        $poc_email = 'MR_POC_E';
        $poc_tel = 'MR_POC_P';
    ?>

    <table>
    <thead>
        <tr>
        <td>MR_ID</td>
        <td>MR_Name</td>
        <td>Buyer_ID</td>
        <td>MR_POC_N</td>
        <td>MR_POC_E</td>
        <td>MR_POC_P</td>
        </tr>
    </thead>
    <tbody>
        <?php
        while($rows = sqlsrv_fetch_array($results)) {
        ?>
        <tr>
            <td><?php echo $rows['MR_ID']?></td>
            <td><?php echo $rows['MR_Name']?></td>
            <td><?php echo $rows['Buyer_ID']?></td>
            <td><?php echo $rows['MR_POC_N']?></td>     
            <td><?php echo $rows['MR_POC_E']?></td>
            <td><?php echo $rows['MR_POC_P']?></td>
        </tr>

    <?php
    }
    ?>
    </tbody>
    </table>
</body>
</html>

您可以尝试以下代码:

<?php
$host="xxxxxxxx"; 
$dbName="xxxxxxx"; 
$dbUser="xxxxx"; 
$dbPass="xxxxxxxxx"; 

$dbh = new PDO( "sqlsrv:server=".$host."; Database=".$dbName, $dbUser, $dbPass); 
$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); 
$sql = "SELECT * FROM Stage_Rebate_Master ORDER BY MR_ID ASC"; 
?>

<table>
<thead>
    <tr>
    <td>MR_ID</td>
    <td>MR_Name</td>
    <td>Buyer_ID</td>
    <td>MR_POC_N</td>
    <td>MR_POC_E</td>
    <td>MR_POC_P</td>
    </tr>
</thead>
<tbody>

<?php
    foreach ($dbh->query($sql) as $rows){
    ?>
    <tr>
        <td><?php echo intval($rows['MR_ID'])?></td>
        <td><?php echo $rows['MR_Name']?></td>
        <td><?php echo $rows['Buyer_ID']?></td>
        <td><?php echo $rows['MR_POC_N']?></td>     
        <td><?php echo $rows['MR_POC_E']?></td>
        <td><?php echo $rows['MR_POC_P']?></td>
    </tr>
 <?php
  }
 ?>
 </tbody>
</table>

您说的是循环是正确的。

将您的while循环替换为以下内容: while ($rows = $results->fetch_assoc()){

我个人也将添加一些逻辑,该逻辑将检查是否返回了任何数据,如果没有,则显示一条消息。

if($results->num_rows > 0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM