2016-12-05 62 views
-2

我有一個網站的標籤5下拉菜單。我在MS SQL Server中有一個數據庫表。該表包含5個下拉列表的所有數據,其中一個字段名稱爲Region_Name,例如Region_Names分別爲A,B,C,D和E.我編寫了代碼來顯示一個表併爲其中一個RegionNames啓用行編輯。現在,我想知道是否可以修改相同的代碼,以在單擊下拉菜單時使用不同查詢啓用行編輯以顯示關聯的表格。這可以減少代碼重複並提高性能。但我不知道如何實現這一點。任何人都可以給我一些提示嗎?我正在使用PHP PDO連接到數據庫。如何在SQL下拉菜單中顯示單個表?

我的顯示錶格的代碼如下所示。我使用Datatables插件和tableExport Jquery插件。爲了簡單起見,我沒有複製插件的鏈接和庫。如果這會有幫助,我可以顯示我的edit.php。

<?php 

require_once('include/database.php'); 
?> 


<!DOCTYPE html> 
<html> 
<head> 

<title>Matrix</title> 
<link rel="stylesheet" type="text/css" href="css/style.css"> 
<meta http-equiv="content-type" content="text/html" charset="UTF-8"> 

<script src="//code.jquery.com/jquery-1.12.3.js"></script> 

<meta name="viewport" content="width=device-width, initial-scale=1"> 

</head> 
<body> 


<header> 


</header> <br/> 

<div id="container"> 

<table id="myTable" class="display" cellpadding="0px" cellspacing="0px"  
width="100%"> 
    <thead> 
    <tr> 
     <th style="width: 1px">ID</th> 
     <th style="width: 1px">Site</th> 
     <th style="width: 1px">Location</th> 

     <th style="width: 1px">Remarks</th> 

     <th width="1px">Action</th> 

    </tr> 
    </thead> 


    <tbody> 
    <?php 
    $stmt = $conn->prepare("SELECT * FROM MATRIX WHERE  
    Region_Name='Charlotte'"); 
    $stmt ->execute(); 
    $result = $stmt->fetchAll(); 
    foreach($result as $row) { 
     ?> 

     <tr> 
      <td><?=$row['ID'];?></td> 
      <td><?= $row['Site']; ?></td> 
      <td><?= $row['Location']; ?></td> 

      <td><?= $row['Remarks']; ?></td> 

      <td><a href="edit.php?id=<?= $row['ID']; ?>"> Edit</a></td> 


     </tr> 


     <?php 
    } 
    ?> 

    </tbody> 

</table> 

<br/> 


</div> 


</body> 
</html> 
+0

向我們展示你的代碼?你取得了什麼成就? – Cagy79

+0

*任何人都可以給我一些提示嗎?*顯示你的代碼... – JustOnUnderMillions

+0

我剛添加了我的代碼簡化版本來顯示單個表。 –

回答

0

您可以使用SELECT table_name FROM information_schema.tables WHERE table_schema = '<your database name>'來獲取數據庫中的所有表。

您還可以得到表中的所有列與此查詢

select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='<your table name>'