【发布时间】:2017-09-26 17:17:11
【问题描述】:
所以我有一个我正在为工作开发的网站。它允许销售人员进入并输入日期范围和他们的姓名缩写,它会查询我的数据库并将表格连同他们的数据一起返回给他们。我提取的列数取决于他们选择的日期范围。时间段越长,列数越多(我将它每周分开,所以更多天=更多周)
我遇到的问题是,当我动态拉取列标题时,使用从 mysql 查询中获取标题的 for 循环,以便它是动态的,我不必为他们可以选择的每周编写每个案例,标题替换了我表中的第一项,所以我丢失了 1 行。
我想知道是否有人在动态获取 mysql 查询集的列标题并将它们与数据表一起使用方面有任何经验?
我不想粘贴大量代码并将这篇文章归为一类,因此请告诉我您希望看到的内容,我会提供。
提前感谢您的所有帮助,我希望我不会对我的问题感到困惑。
以下是代码示例:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection Failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM sampleTable";
$result = $conn->query($sql);
$conn->close();
?>
<div class="card mb-3">
<div class="card-header">
<i class="fa fa-table"></i></div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered" id="adminTable" width="100%" cellspacing="0">
<thead>
<?php
if ($result->num_rows > 0) {
echo "<tr>";
foreach(array_keys($result->fetch_assoc()) as $field){
echo "<th>" . $field . "</th>";
}
echo "</tr>";
} else {
echo "<h1 align=\"center\">No Results Found</h1>";
}
?>
</thead>
<tbody>
<?php
if ($result->num_rows > 0) {
while($data = $result->fetch_assoc()) {
echo "<tr>";
foreach ($data as $field => $value){
echo "<td>" . $value . "</td>";
}
echo "</tr>";
}
}
?>
</tbody>
</table>
</div>
</div>
<div class="card-footer small text-muted">Updated yesterday at 11:59 PM</div>
</div>
<!--Not included in current file - included in base php-->
<script type="text/javascript">
$('#dataTable').DataTable( {
"scrollX": true,
"scrollY": '55vh',
"scrollCollapse": true,
"paging": false,
dom: 'iftB',
buttons: [
'copy', 'csv', 'excel', 'pdf', 'print'
]
} );
</script>
【问题讨论】:
-
您需要向我们展示代码。您是在 1 个查询中获取所有内容(标题 + 正文)还是单独进行?我将从 2 个单独的查询开始,然后将它们组合起来。
-
@waterloomatt 我发布了代码,我在一个查询中执行它,但我已经在两个单独的查询中尝试过它,它仍然产生了同样的问题。
-
这个任务的通用术语是pivoting你的表。
标签: javascript php html mysql datatables