2016-09-27 138 views
0

我在我的數據庫表中有很多行,所以我無法硬編碼任何東西。我假設我需要某種循環,通過數據庫中的行循環,然後顯示它到我的HTML表格。這是我的代碼到目前爲止......你能告訴我我需要做什麼嗎?從SQL Server數據庫導入數據到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> 
+0

您已經在你的代碼迴路......也*有什麼問題在這裏* – Hackerman

+0

我需要能夠獲取數據庫的數據到html表中...我目前唯一顯示的是表頭 – Rataiczak24

+0

你可以發佈這個'var_dump($ results);' – Hackerman

回答

1

你可以試試這個代碼:

<?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> 
+0

真棒偉大的工程...我唯一的問題是,ID變爲1.0,2.0,3.0等...有無論如何擺脫.0? – Rataiczak24

+0

回答更新:) – Hackerman

+0

非常感謝你!欣賞它! – Rataiczak24

0

你說得對,需要循環是正確的。

用以下內容替換while循環: while ($rows = $results->fetch_assoc()){

我個人也加入一些邏輯,將檢查是否返回任何數據,如果沒有則顯示一條消息。

if($results->num_rows > 0)

+0

我使用了新的while循環,什麼都沒有發生 – Rataiczak24

+0

你沒有確定潛在的問題......我不會downvote你的代碼,但是,嘗試一點點難 – Hackerman

+0

在這種情況下,不工作,我會建議重寫你的代碼遵循更加面向對象的MySQLi方法。這樣做會使錯誤診斷更容易一些。對於這樣的一個例子,請參閱以下內容: http://www.w3schools.com/php/php_mysql_select.asp 編輯:感謝@Hackerman –

相關問題