sql >> データベース >  >> RDS >> Mysql

mysqli_fetch_assocを使用して同じ結果を2回表示できないのはなぜですか?

    mysqli_fetch_assocマニュアル によると

    したがって、最初の反復後(whileを使用) )空になります。そのため、2回目の反復を直接行うことはできません。

    解決策 :最初に変数を作成し、その変数にすべてのデータを割り当てます。次に、必要な回数だけ使用します。

    <?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. クエリキャッシュの効率

    2. クラウド内のMySQL-AmazonRDSの長所と短所

    3. Docker-compose:mysqld:ファイルを作成/書き込みできません'/ var / lib / mysql / is_writable'(エラーコード:13-アクセスが拒否されました)

    4. Spring DataのJPAリポジトリを使用したFindByUUID()