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

whileループの処理とMYSQLPHP値のグループ化

    mysql_*は避けてください 機能。 mysqli_*を使用する 。最初にそれらをグループ化する必要があります。この例を考えてみましょう:

    <?php
    
    $link = new mysqli('localhost', 'test', 'test', 'test');
    $query = mysqli_query($link, 'SELECT * FROM author_master ORDER BY author_id');
    $books = array();
    while($row = $query->fetch_assoc()) {
        $books[$row['author_id']][] = $row;
    }
    ?>
    
    <table border="0" cellpadding="10">
        <thead>
            <tr>
                <th>Author ID</th>
                <th>Author Book</th>
                <th>Rating</th>
            </tr>
        </thead>
        <tbody>
            <?php foreach($books as $author_id => $values): ?>
                <tr>
                    <td><?php echo $author_id; ?></td>
                    <td><?php foreach($values as $author_book) {echo $author_book['author_book'] . '<br/>';} ?></td>
                    <td><?php foreach($values as $author_book) {echo $author_book['rating'] . '<br/>';} ?></td>
                </tr>
            <?php endforeach; ?>
        </tbody>
    </table>
    


    1. SQL列でフィルタリングされた列の最大値を持つ行のみを選択します

    2. Postgresqlは各IDの最後の行を抽出します

    3. PostgreSQL用のジョブスケジューリングツールの概要

    4. データベースが引用符にスラッシュを追加しないようにする方法