Help us understand the problem. What is going on with this article?

ボタンクリックにより、同じIDの別のカラムのフィールドを出力する

前提: DBが作成されデータが入っている状態

例えば、こんな感じのデータベースを用意して
image.png

キャラ名の隣のボタンをクリックすると
image.png

そのキャラのタイプが表示される。
image.png

(↓動画にするとこんな感じ)
https://gyazo.com/8e68421fe20af2d6b68093ba0108cc9f

みたいな実装をしたい場合は、以下のように書く。

index.php
// DB接続に必要な記述
$con = mysqli_connect('127.0.0.1', 'root', '');
$result = mysqli_select_db($con, 'データベース名');
$result = mysqli_query($con, 'SET NAMES utf8');
$result = mysqli_query($con, 'SELECT * FROM テーブル名');

while ($data = mysqli_fetch_array($result)) {
  print '<form method="post" action="next.php">';
  // next.phpに「id」というnameの「$data['ID']」というvalueが送られる
  print '<input type="hidden" name="id" value="'.$data['ID'].'">';
  // $data['']の中に表示させたいDBのカラム名を記載する
  print '<input type="hidden">' . $data['NAME'] ;
  print '<input type="submit" value="何の呼吸?">';
  print '</form>';
}
next.php
try
{
  // $_POST['']の中には、qiita_index.phpから受け取るname属性の値が入れる
  $kimetsu_id=$_POST['id'];

  // DBへ接続
  $dsn = 'mysql:dbname=yurutto;host=localhost;charset=utf8';
  $user='root';
  $password='';
  $dbh = new PDO($dsn, $user, $password);
  $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

  $sql = 'SELECT TYPE FROM kimetsu WHERE ID = ?';
  $stmt = $dbh->prepare($sql);
  $data[]=$kimetsu_id;
  $stmt->execute($data);

  $rec = $stmt->fetch(PDO::FETCH_ASSOC);
  $kokyu_type=$rec['TYPE'];

  $dbh = null;

  //  同じIDのTYPEカラムのフィールドを出力する
  // (= submitボタンで選択したキャラのタイプが出力する)
  print $kokyu_type;

}
catch (Exception $e)
{
  print 'ただいま障害により大変ご迷惑をお掛けしております。';
  exit();
}
Bkyr79
◎11年間飲食業勤務→TECH::CAMPを経て未経験でエンジニア転職成功 ◎3月に第一子が生まれる ◎36歳になった! 理想に向けて挑戦し続けます!!
https://yamashi79.hatenablog.com/?_ga=2.147350706.426278557.1606225802-2112218666.1579834478
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away