php - This while loop is not working and more time, even I give the condition
I used while loop to take data from the database and I give the condition, but the loop is repeated polytime even I am stopping from the browser and if I put break just it displays one record. if I remove the break it again more and more records.
<?php
$db=mysqli_connect("localhost","root","root","done");
$query="SELECT * FROM dones where id>3";
$result=mysqli_query($db,$query);
$x=0;
while($row=mysqli_fetch_array($result))
{
$x++;
echo '<div id="accordionExample">';
echo '<div >';
echo '<div id="headingOne">';
echo '<h5 >';
echo '<button style="text-decoration:none; font-
family:Times New Roman, Times, serif; font-size:18px; " type="button"
data-toggle="collapse" data-target="#collapseOne" aria-expanded="true"
aria-controls="collapseOne">';
echo $row['title'];
echo '</button>';
echo '</h5>';
echo '</div>';
echo '<div id="collapseOne" aria-
labelledby="headingOne" data-parent="#accordionExample">';
echo '<div >';
echo '<form action="" method="POST" enctype="multipart/form-data"
>';
echo '<h5 >
<small>Title</small></h5>';
echo '<input style="width:290px; margin-left:158px; height:30px; margin-
top:-30px;" name="title" type="text"
placeholder="Title">';
echo ' <br>';
echo ' <div style="height:10px; width:290px; margin-
right:1050px; top-padding:20px; float:right;">';
echo ' <input type="file" name="uploadfile"
id="validatedCustomFile">';
echo ' <label for="validatedCustomFile">Choose
file...</label>';
echo ' </div>';
echo ' <h5 ><small>File</small>
</h5>';
echo ' <br>';
echo ' <h5 ><small>Banner
Image</small></h5>';
echo ' <div style="height:130px; width:290px; border-width:1px; border-
style:solid; float:right; margin-right:1050px; margin-top:-15px;">';
$db=mysqli_connect("localhost","root","root","done");
$sql="SELECT image FROM dones where status=1";
$result=mysqli_query($db,$sql);
$data = mysqli_fetch_array($result);
echo '<img src= "images/'.$data['image'].'" style="height:130px;
width:290px;">';
echo '</div>';
echo '<br>';
echo '<br>';
echo '<br>';
echo '<br>';
echo '<br>';
echo '<br>';
echo '<h5 >
<small>Status</small></h5>';
echo '<select name="status" id="" style="width:290px; float:right;
margin-right:1050px; margin-top:-25px;">';
echo '<option value="1" name="enable">Enable</option>';
echo '<option value="0" name="disable">Disable</option>';
echo '</select>';
echo '<br>';
echo '<br>';
echo '<button type="submit" name="tbsubmit"
>Save Changes</button>';
echo '</div>';
echo '</form>';
echo '</div>';
echo '</div>';
echo '</div>';
echo '</div>';
echo '</div>';
}
?>
just I want to repeat this loop, up to how many recordes I have in the database not more or less.
Answer
Solution:
You are re-using the first result set variable
$result
...inside the while loop...
You can replace this with (also dropping the connection as you don't need to reconnect each time)...