前提・実現したいこと
DB内に入っている1万個のデータを表示させたいです。
データベースに入っている1万個のデータはIDと紐づけて88個に分類させています。
88個の分類をテーブルにて表示させており、クリックして展開すると88個のデータに紐づくデータを更に表示させたいのですがやり方や、調べ方がわからず質問しました。
PHPとMySQL、HTMLでシステムを作っています。
分かり辛いと思うので例をあげると、1万個のデータは全校生徒の名簿です。
全校生徒は88個のクラスに分類させています。
現在、1年1組から3年5組までのクラスを表示させています。
この1年1組をクリックすると1年1組に分類されている生徒を表示させたいのですが、うまくデータベースから引っ張ってこれず表示> できません。
<html lang="ja"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>問題作成ページ</title> <!-- bootstrap CDN --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> <style type=text/css> div#main { padding: 30px; background-color: #efefef; } </style> </head> <body> <div class="container"> <div id="main"> <?php該当のソースコード
ソースコード
<!DOCTYPE html>
<div onclick="obj=document.getElementById('open1').style; obj.display=(obj.display=='none')?'block':'none';"> <a style="cursor: pointer;">▼クリックで展開</a></div> <div id="open1" style="display:none;clear:both;"> <body>$pdo = new PDO("mysql:host=localhost;dbname=icd_pisa;charset=utf8", "root", ""); // print_r($_POST); ?> <h2>問題作成</h2> <?php // データベースから問題取得 $sql = "SELECT * FROM class ORDER BY class;"; $stmt = $pdo->prepare($sql); $stmt -> execute(); ?> <table class="table table-striped"> <tr> <th>カテゴリー</th> <th>カテゴリーID</th> <th>質問内容</th> <th></th> </tr> <?php // データベースから取得したやつ表示 while ($row = $stmt -> fetch(PDO::FETCH_ASSOC)) { ?> <tr> <td><?= $row["cate_id"] ?></td> <td><?= $row["class_id"] ?></td> <td><?= $row["class"] ?></td> <td>
$sql = "SELECT * FROM knowledge WHERE item_id ";
$stmt = $pdo->prepare($sql); $stmt -> execute();
}
</body> </div></body> </html></td> </tr> <?php } ?> </table> </div> </div>
補足情報(FW/ツールのバージョンなど)
classが例で言う学校のクラス分けのテーブルです。
knowledgeが生徒一覧です。
item_idというのは学籍番号でして、classと紐づいています。
ここにより詳細な情報を記載してください。