php output from mysql to html table

css, html, mysql, php

Solution

Replace the while inside the if with this:

echo '<table class="table table-striped table-bordered table-hover">'; 
echo "<tr><th>Name</th><th>Description:</th><th>Status</th></tr>"; 
while($row = mysqli_fetch_array($results))
{
  echo "<tr><td>"; 
  echo $row['name'];
  echo "</td><td>";   
  echo $row['des'];
  echo "</td><td>";    
  echo $row['status'];
  echo "</td></tr>";  
}
echo "</table>";    

Problem

currently I'm working on a site uptime search engine however I'm having a silly issue. I want to output more than one mysql row in a table however my code below causes a separate table to be created for each row thats found. Thank you in advance for your assistance ``` $searchTerm = trim($_GET['searchterm']); //check whether the name parsed is empty if($searchTerm == "") { echo "Please enter something to search for..."; exit(); } //database connection info $host = "localhost"; //server $db = "DB NAME"; //database name $user = "USER"; //dabases user name $pwd = "PASSWORD"; //password $link = mysqli_connect($host, $user, $pwd, $db); $query = "SELECT * FROM sites WHERE name OR des LIKE '%$searchTerm%'"; $results = mysqli_query($link, $query); if(mysqli_num_rows($results) >= 1) { while($row = mysqli_fetch_array($results)) { echo '<table class="table table-striped table-bordered table-hover">'; echo"<TR><TD>Name</TD><TD>Description:</TD><TD>Status</TD></TR>"; echo "<tr><td>"; echo $row['name']; echo "</td><td>"; echo $row['des']; echo "</td><td>"; echo $row['status']; echo "</TD></tr>"; echo "</table>"; } } else echo "There was no matching record for the name " . $searchTerm; ?> ```

Original source