php - This while loop is not working and more time, even I give the condition

514

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.

581

Answer

Solution:

You are re-using the first result set variable$result ...

while($row=mysqli_fetch_array($result))

inside the while loop...

 $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);

You can replace this with (also dropping the connection as you don't need to reconnect each time)...

 $sql="SELECT image FROM dones where status=1";
 $result1=mysqli_query($db,$sql);
 $data = mysqli_fetch_array($result1);

People are also looking for solutions to the problem: php - Cookies not read in IE

Source

Didn't find the answer?

Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.

Ask a Question

Write quick answer

Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.

Similar questions

Find the answer in similar questions on our website.