0

I've been trying to print all users into a html table. The objective is that the site administrator can edit the information. I've done the following code so far, but I can't understand how I will print User1_Name, User1_Email and password into a table row. I want this for every user on the database.

<body>
    <div class="edituser"> 
      <h1> Edit Users </h1>

      <table>
          <tr>
              <th>User Name</th>
              <th>Email</th>
              <th>Password</th>

          </tr>
   <?php include("include/headerhomeadmin.php");?>


        <?php while($row = mysqli_fetch_assoc($result)) {
        /*$line[]=$row;*/  

        echo 

        $userusername =$row['username'];
        $useremail =$row['email'];
        $userpassword=$row['password'];

        ?>
      <td><?php echo implode(" ", $line)?></td> 

        <?php } ?>

        </table>       

    </div>  

Can someone help me?

UPDATE: My code is now printing the first username, the email from the second user and the password from de third user. The code is the following:

<body>
<div class="edituser"> 
  <h1> Editar Utilizadores </h1>

  <table>
      <tr>
          <th>Nome de Utilizador</th>
          <th>Email</th>
          <th>Password</th>

      </tr>

      <tr>     
    <?php while($row =  mysqli_fetch_assoc($result)) { 

            $userusername =$row['username'];
    ?>

          <td> <?php echo $userusername ?>  </td>

      <?php while($row =  mysqli_fetch_assoc($result)) { 

            $useremail =$row['email'];

    ?>

          <td> <?php echo $useremail ?>  </td>

      <?php while($row =  mysqli_fetch_assoc($result)) { 

            $userpassword=$row['password'];

    ?>
          <td> <?php echo $userpassword ?>  </td>


    <?php }
    }

}?>

How can I fix this?

2
  • 1) You're imploding $line, not $row. 2) You can use the loop to echo out the table rows with the values inside the cells. Commented Dec 7, 2018 at 16:22
  • You could also just echo the <td> and </td> tags before and after echoing each element you want in the table and avoid imploding. Would be cleaner to read. Also, don't forget to start off each loop with a <tr> and finishing each loop with a </tr> Commented Dec 7, 2018 at 16:31

1 Answer 1

5
if ($result->num_rows > 0) {?>
<table border=1>
  <tr>
      <th>Name</th>
      <th>Email</th>
      <th>Password</th>

  </tr>
 <?php while($row =  mysqli_fetch_assoc($result)) { ?> 

   <tr> 
          <td><?php echo $row['username']; ?></td>
          <td><?php echo $row['email']; ?></td>
          <td><?php echo $row['password']; ?></td>

   </tr>

 <?php }?>
 </table>
 <?php
 }

 else{
 echo "0 results";
 }
 ?>
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.