如何显示表中的所有值
问题描述:
我在代码波纹管中的employment_table中遇到了问题。我希望表格显示他们已经插入到表格中的所有作业。相反,它只显示最新的一个。显示这些值的值是$ ee(开始和结束日期的$ start和$ end)。再一次,问题是它不显示所有工作只是最后一个。有谁知道如何解决这个问题?是否要处理数组?在此先感谢如何显示表中的所有值
$employment_table = "no table";
$sql = "SELECT * FROM history WHERE userID='$profile_id' AND type='job'";
$query = mysqli_query($db_conx, $sql) or die(mysqli_error($db_conx));
while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
$h_id = $row["id"];
$ee = $row["ee"];
$htype = $row["type"];
$unixstart = $row["start"];
$unixend = $row["end"];
$start = date("d/m/Y",$unixstart);
$end = date("d/m/Y",$unixend);
$employment_table = "<table>";
$employment_table .= "<tr>";
$employment_table .= "<th>Company Name</td>";
$employment_table .= " <th>Start Date</td>";
$employment_table .= "<th>End Date</td>";
$employment_table .= "</tr>";
$employment_table .= "<tr>";
$employment_table .= "<td>".$ee."</td>";
$employment_table .= "<td>".$start."</td>";
$employment_table .= "<td>".$end."</td>";
$employment_table .= "</tr>";
$employment_table .= "</table>";
}
答
您正在覆盖每次在循环中的$employment_table
变量。将<table>
和</table>
标签从循环中取出 - 例如
$employment_table = "<table>";
while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
$h_id = $row["id"];
$ee = $row["ee"];
$htype = $row["type"];
$unixstart = $row["start"];
$unixend = $row["end"];
$start = date("d/m/Y",$unixstart);
$end = date("d/m/Y",$unixend);
$employment_table .= "<tr>";
$employment_table .= "<th>Company Name</td>";
$employment_table .= " <th>Start Date</td>";
$employment_table .= "<th>End Date</td>";
$employment_table .= "</tr>";
$employment_table .= "<tr>";
$employment_table .= "<td>".$ee."</td>";
$employment_table .= "<td>".$start."</td>";
$employment_table .= "<td>".$end."</td>";
$employment_table .= "</tr>";
}
$employment_table .= "</table>";
答
您在每次迭代时都覆盖$employment_table
。 你也为每一行创建一个新表。
所以,做以下操作:
$employment_table = "<table>";
while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
$h_id = $row["id"];
$ee = $row["ee"];
$htype = $row["type"];
$unixstart = $row["start"];
$unixend = $row["end"];
$start = date("d/m/Y",$unixstart);
$end = date("d/m/Y",$unixend);
$employment_table .= "<tr>";
$employment_table .= "<th>Company Name</td>";
$employment_table .= " <th>Start Date</td>";
$employment_table .= "<th>End Date</td>";
$employment_table .= "</tr>";
$employment_table .= "<tr>";
$employment_table .= "<td>".$ee."</td>";
$employment_table .= "<td>".$start."</td>";
$employment_table .= "<td>".$end."</td>";
$employment_table .= "</tr>";
}
$employment_table .= "</table>";
啊,是的,它的工作!感谢您的快速反应和解决方案:) – hsd 2013-03-19 21:47:25
欢迎您随时将答案标记为已接受,如果它是:) – devrooms 2013-03-19 21:52:47