0

I dont know the correct syntax to print out the values from the database after the Get values button is submitted without getting the Invalid argument supplied error.. please help

<form action="index.php" method="post">
<input type="text" name="user_name" placeholder="User Name">
<input type="text" name="first_name" placeholder="First Name">
<input type="email" name="email" placeholder="email">
<input type="submit" name='submit' value="Submit">
<input type="submit" name='seeDatabase' value="Get Values">
</form>

<table>
<tr>
    <th>User_Name   </th>
    <th>First_Name  </th>
    <th>Email</th>
</tr>
<?php
$sqlSelect = "Select * From user";
$myResult2 = $connection->query($sqlSelect);
foreach ($myResult2 as $item): ?>
<tr>
    <td><?php echo $item['user_name'] ?></td>
    <td><?php echo $item['first_name'] ?></td>
    <td><?php echo $item['email'] ?></td>
    <td>
        <form action="delete.php" method="post">
        <input type="hidden" name="userName" value="<?php echo                      
      $item['user_name']  ?>">
        <input type="submit" name="delete" value="Delete">
        </form>
    </td>
</tr>
<?php endforeach; ?>
</table>
3
  • what exactly you want to do? you alredy printed database value inside HTML value="<?php echo $item['user_name'] ?>" Commented Oct 5, 2017 at 4:25
  • I would like to do data checking with the isset() function and not have any of the information printed until button with the value of "get Values" is clicked on. I usually do it with and if statement and put all the code needed in that statement, but when i do that it causes problems with the html code. This is an example of what im trying to accomplish Commented Oct 5, 2017 at 16:43
  • <?php if(isset($_POST['seeDatabase'])) { $sqlSelect = "Select * From user"; $myResult2 = $connection->query($sqlSelect); foreach ($myResult2 as $item): ?> <tr> <td><?php echo $item['user_name'] ?></td> <td><?php echo $item['first_name'] ?></td> <td><?php echo $item['email'] ?></td> <td> Commented Oct 5, 2017 at 16:44

1 Answer 1

1

You need to check if the array is empty before looping to prevent getting the invalid argument error

if(!empty($myResult2) && count($myResult2) > 0) {
//you can loop over 
foreach ($myResult2 as $item) {
//foreach stuff
}
} else {
//array is empty 
echo 'no result found';
}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.