2017-09-05 80 views
1

我有我的MySql DB(其中包含客戶信息),我從中獲取數據,並在表格中顯示它們。我只在桌面上顯示客戶名稱。我希望能夠點擊一個按鈕,每個錶行內,然後顯示在特定行的附加信息可點擊的HTML表格包含數據能夠顯示更多數據onclick

代碼這裏:

function customers(){ 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "gymdb"; 
$p = ''; 
// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT * FROM company_customers WHERE company_id=" . $_SESSION['id'] . ";"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    $p .= ' 
     <hmtl> 
     <head> 

     </head> 
     <body> 
      <table class="container"> 
       <thead> 
        <tr> 
         <th><h1>Name</h1></th> 
         <th><h1>Surname</h1></th> 
         <th><h1>More Info</h1></th> 
        </tr> 
       </thead> 
    '; 
    while($row = $result->fetch_assoc()) { 
     $p .= ' 
       <tbody> 
         <tr> 
          <td style="width:50%">' . $row['customer_name'] . '</td> 
          <td>' . $row['customer_surname'] . '</td> 
          <td style="width:100px" class=thisone onclick="show()">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +</td> 
         </tr>    
       </tbody> 
      <script> 

      </script> 
      </body> 
      </html> 
      '; 
    } 
} else { 

} 
$conn->close();  
+0

你有2個選擇:a)首先獲取信息並通過css隱藏它們並顯示它們onclick 2)使用ajax向你的php服務器和db請求發出一個新請求,然後將它加載到你的單元格中。你的show()函數在做什麼? –

回答

2

你在正確的track.now這一切都取決於你想如何展示他們。但是你最好的選擇是在html部分添加所有你想要的信息,以及基本的信息。添加「隱藏」類或類似的類。一旦用戶點擊按鈕,找到同一行中的所有.hidden元素,並刪除該類。

另一種選擇是使用ajax只加載所需的信息......但我真的堅持第一個解決方案,除非有大量的數據要發送。

此外,仔細檢查你的class=thisone應該class="thisone"

2

如果你想要的東西就像一個「更多」按鈕,你將需要在你身邊一些JavaScript。但是,在HTML方面,您需要將每個表格單元格與<a>這是一個超鏈接。這會讓你的桌子在你點擊它的地方展開!

2
<td style="width:100px" 
    class=thisone onclick="show('.$row['customer_id'].');"> 

    <div class="hidden_content" style="display:none;" id="content_'.$row['customer_id'].'"> 
    ' . $row['customer_name'] . ' 
    </div> 
</td> 

然後,你需要實現顯示功能:

function show(id){ 
    document.getElementById('content_'+id).style.display='block'; 
} 

更好的決策是大量的數據不會發送到單頁,並獲得通過的附加AJAX查詢其他信息。