Search code examples
phptwitter-bootstrapecho

Wrong table formatting bootstrap


Hi I have a problem with this code in php, in practice in this table I want to cycle various information taken from the db, only if this information is of different length the formatting of each table is bad, I would like to have the same dimensions for each line, like I could do? the code works correctly, the formatting is wrong ... one column is wider than the other .I would like to leave the first line with the word "N, name, description" and cycle the rest with the same size. Sorry for english

  while ($row = mysqli_fetch_array($r_query)) {
  echo '
  <table class="table table-bordered">
  <thead>
  <tr>
  <th scope="col">N°</th>
        <th scope="col">name</th>
        <th scope="col">description</th>
      </tr>
     </thead>
     <tbody>
      <tr>
        <th scope="row">' . $_id . '</th>
        <td>' . $_name . '</td>
        <td>' . $_description . '</td>
   <td>' . $_lingua . '</td>
   <td> <input class="btn btn-primary" type="submit" 
   value="Send"></td>
   </tr>
   </tbody>
   </table>';
   }

Solution

  • Try moving the <table> parts and the table header to outside of the PHP loop, so the loop is only iterating through each data item and adding a new table row instead of generating a whole new table for every piece of info.

    echo '<table class="table table-bordered">
            <thead>
              <tr>
                <th scope="col">N°</th>
                <th scope="col">name</th>
                <th scope="col">description</th>
              </tr>
            </thead>
            <tbody>';
    
    while ($row = mysqli_fetch_array($r_query)) {
      echo '<tr>
              <th scope="row">' . $_id . '</th>
              <td>' . $_name . '</td>
              <td>' . $_description . '</td>
              <td>' . $_lingua . '</td>
              <td><input class="btn btn-primary" type="submit" value="Send"></td>
            </tr>';
    }
    
    echo '</tbody>
        </table>';