Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dlaczego nie mogę wyświetlić dwa razy tego samego wyniku za pomocą mysqli_fetch_assoc?

Według mysqli_fetch_assoc

Więc po pierwszej iteracji (przy użyciu while ) jest pusta. Nie możesz więc wykonać bezpośrednio drugiej iteracji.

Rozwiązanie :Najpierw utwórz zmienną i przypisz do niej wszystkie dane.Teraz używaj jej tyle razy, ile chcesz

<?php
require 'functions.php';
$query_result=select_all_published_category();
$category = []; //create array
while($cat_info=mysqli_fetch_assoc($query_result)) {
    $category[] = $cat_info; //assign whole values to array
}
?>

<div class="control-group">
        <label class="control-label">Parent Category Name</label>
        <div class="controls">
            <select name="category_id">

                <?php foreach($category as $cat){?>
                    <option value="<?php echo $cat['category_id']; ?>"><?php echo $cat['category_name']; ?></option>
                <?php }?>

            </select>
        </div>
</div>

<div class="control-group">
        <label class="control-label">Parent Category Name 2</label>
        <div class="controls">
            <select name="category_id2">
                <?php foreach($category as $cat){?>
                    <option value="<?php echo $cat['category_id']; ?>"><?php echo $cat['category_name']; ?></option>
                <?php }?>
            </select>
        </div>
</div> 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak podłączyć aplikację na Androida do bazy danych MySQL?

  2. Jak uzyskać dane sprzedaży z ostatnich 3 miesięcy w MySQL?

  3. PHP MySQL i geolokalizacja

  4. Niezaznaczone pole wyboru zwracające wartość null

  5. Próba aktualizacji 640k wierszy w mySQL powoduje utratę połączenia z serwerem MySQL podczas zapytania