sql >> Databáze >  >> RDS >> Mysql

Proč nemohu zobrazit stejný výsledek dvakrát pomocí mysqli_fetch_assoc?

Podle příručky mysqli_fetch_assoc

Takže po první iteraci (pomocí while ) je prázdný. Nemůžete tedy provést druhou iteraci přímo.

Řešení :Nejprve vytvořte proměnnou a přiřaďte k ní všechna data. Nyní ji používejte tolikrát, kolikrát chcete

<?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. MySQL:ORDER BY s prázdným datem '0000-00-00' jako poslední, ale zbytek ASC

  2. MariaDB CURRENT_TIMESTAMP() Vysvětleno

  3. Chyba SSMS 2016 při importu Azure SQL v12 bacpac:hlavní klíče bez hesla nejsou podporovány

  4. Převeďte datum z rrrr-mm-dd na dd název_měsíce rok