0

我在下面的代码中遇到了就业表的问题。我希望该表显示他们已插入表中的所有作业。相反,它只显示最新的。显示这些的值是 $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>";      
 }
4

2 回答 2

0

$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>";
于 2013-03-19T21:44:41.910 回答
0

$employment_table您每次都在循环中覆盖变量。将<table>and</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>";
于 2013-03-19T21:44:14.563 回答