2013-03-19 2 views
0

У меня возникли проблемы с занятостью, которую я получил в нижеследующем коде. Я хочу, чтобы в таблице отображались ВСЕ задания, которые они вставили в таблицу. Вместо этого он отображает только последний. Значения, отображающие их, - $ ee ($ start и $ end для дат начала и окончания). Еще раз проблема заключается в том, что он не отображает все задания только последние. Кто-нибудь знает, как решить эту проблему? Isit делать с массивом? Заранее спасибоКак отобразить все значения в таблице

$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>";  
} 

ответ

0

Вы перезапись $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>"; 
+0

Ах да, это сработало! спасибо за быстрый ответ и решение :) – hsd

+0

ваше приветствие, не стесняйтесь отмечать ответ, как принято, если это :) – devrooms

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>"; 
Смежные вопросы