質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.61%

  • PHP

    19820questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • SQL

    2317questions

    SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

  • phpMyAdmin

    628questions

    phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

  • XAMPP

    481questions

    XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

name属性で獲得した情報をmyphpadminに格納したいのですが...

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 132

problemer

score 2

<?php

 $dsn = 'mysql:dbname=staff;host=localhost';
  $user = 'testuser';
  $password = 'pass';

  try{
      $dbh = new PDO($dsn, $user, $pass);
   
 $sql = 'select * from staffname';
        foreach ($dbh->query($sql) as $row) {
            print($row['id'].',');
            print($row['name']);
            print('<br />');
        }
    }catch (PDOException $e){
        print('Error:'.$e->getMessage());
        die();
    }

    $dbh = null;

?>

サイトを色々としらべながら書いてみたのですが、ここまででデータベースには接続できているのでしょうか?(catch文とかあり、何をしているのか分からず...)
また、①formタグで獲得したname属性をphpを利用してデータベースに格納
②データベースに格納した値をphpを利用してブラウザに表示させる
の2点をしたいのですが、phpコードのどこにSQL文を記述すれば良いのかいまいち理解できませんでした。

【index.php】
<form action="sent.php" method="post">
      IGNを入力してください<br>
      <input type="text" name="ign"><br>
      フレンドコードを入力してください<br>
      <input type="text" name="friendcode"><br>
     ランクを入力してください<br>
      <input type="text" name="rank"><br>
      ウデマエを入力してください<br>
      エリア:<input type="radio" name="eria" value="X" checked>X
             <input type="radio" name="eria" value="S+">S+
             <input type="radio" name="eria" value="S">S
             <input type="radio" name="eria" value="A">A
             <input type="radio" name="eria" value="B">B
             <input type="radio" name="eria" value="C">C<br>
      ヤグラ:<input type="radio" name="yagura" value="X" checked>X
             <input type="radio" name="yagura" value="S+">S+
             <input type="radio" name="yagura" value="S">S
             <input type="radio" name="yagura" value="A">A
             <input type="radio" name="yagura" value="B">B
             <input type="radio" name="yagura" value="C">C<br>
        ホコ:<input type="radio" name="hoko" value="X" checked>X
             <input type="radio" name="hoko" value="S+">S+
             <input type="radio" name="hoko" value="S">S
             <input type="radio" name="hoko" value="A">A
             <input type="radio" name="hoko" value="B">B
             <input type="radio" name="hoko" value="C">C<br>
      アサリ:<input type="radio" name="asari" value="X" checked>X
             <input type="radio" name="asari" value="S+">S+
             <input type="radio" name="asari" value="S">S
             <input type="radio" name="asari" value="A">A
             <input type="radio" name="asari" value="B">B
             <input type="radio" name="asari" value="C">C<br>
      持ちブキを入力してください<br>
      <input type="checkbox" name="weapon[]" value="シューター">シューター
      <input type="checkbox" name="weapon[]" value="マニューバー">マニューバー
      <input type="checkbox" name="weapon[]" value="チャージャー">チャージャー<br>
      <input type="checkbox" name="weapon[]" value="ブラスター">ブラスター
      <input type="checkbox" name="weapon[]" value="ローラー">ローラー
      <input type="checkbox" name="weapon[]" value="フデ">フデ<br>
      <input type="checkbox" name="weapon[]" value="スロッシャー">スロッシャー
      <input type="checkbox" name="weapon[]" value="スピナー">スピナー
      <input type="checkbox" name="weapon[]" value="シェルター">シェルター<br>
      プレイ可能な時間帯を選択してください<br>
      <select name="begin-time-hour">
        <?php for($i = 0; $i <=23; $i++): ?>
          <option><?php echo $i; ?></option>
        <?php endfor ?>
      </select>
      :
      <select name="begin-time-minute">
        <?php for($i = 0; $i <=5; $i++): ?>
          <option><?php echo $i * 10; ?></option>
        <?php endfor ?>
      </select>
      ~
      <select name="end-time-hour">
        <?php for($i = 0; $i <=23; $i++): ?>
          <option><?php echo $i; ?></option>
        <?php endfor ?>
      </select>
      :
      <select name="end-time-minute">
        <?php for($i = 0; $i <=5; $i++): ?>
          <option><?php echo $i * 10; ?></option>
        <?php endfor ?>
      </select><br>
     味方に求めるモノは!?<br>
      <input type="checkbox" name="want" value="初心者">初心者
      <input type="checkbox" name="want" value="enjoy勢">enjoy勢
      <input type="checkbox" name="want" value="ガチ勢">ガチ勢
      <input type="checkbox" name="want" value="サーモンラン">サーモンラン
      <input type="checkbox" name="want" value="対抗戦">対抗戦<br>
      ひとこと<br>
      <textarea name="comment" rows="3" cols="50"></textarea><br>
      <input type="submit" value="確認">
    </form>
【sent.php】
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <title>splatter</title>
  <link rel="stylesheet" text="style/css" href="splatter.css">
</head>
<body>
  <div class="wrapper">
    <div class="mask-wrapper">
      <h1>Splatterへようこそ</h1>
  </div>
  </div>
  <div class="main">
    <h2>~登録内容の確認~</h2>
    <form action="#" method="post">
      <p>IGN : <?php echo $_POST['ign'] ?></p>
      <p>フレンドコード : <?php echo $_POST['friendcode'] ?></p>
      <p>ランク : <?php echo $_POST['rank'] ?></p>
      <p>ウデマエ<br>
        エリア : <?php echo $_POST['eria'] ?><br>
        ヤグラ : <?php echo $_POST['yagura'] ?><br>
        ホコ : <?php echo $_POST['hoko'] ?><br>
        アサリ : <?php echo $_POST['asari'] ?></p>

      <p>持ちブキ : <?php echo $_POST['weapon[]'] ?></p>
      <!-- ここがまだ解決していません... -->

      <p>プレイ可能な時間帯<br>
        <?php echo $_POST['begin-time-hour'] ?>:
        <?php echo $_POST['begin-time-minute']?>~
        <?php echo $_POST['end-time-hour']?>:
        <?php echo $_POST['end-time-minute']?>
      </p>

      <p>味方に求めるモノ : <?php echo $_POST['want'] ?></p>
      <!-- ここがまだ解決していません -->  

      <p>ひとこと : <?php echo $_POST['comment'] ?></p>
      <input type="submit" value="登録">
    </form>

  </div>
  <div class="footer">

  </div>
</body>
</html>
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • mts10806

    2018/06/11 17:38 編集

    タグにある通り正しくはphpMyAdminです。質問本文内にスペルミスがあります。ただもうひとつ間違っているのはphpMyAdminはMySQLのデータを閲覧、編集などを行うツールのひとつであり、DBではない(格納先ではない)ところです。

    キャンセル

回答 1

checkベストアンサー

0

まずはdbの設計からですね
複数選択肢を持つデータをどう保持したいかを決めないことにはphpでの参照や更新は先の話です。

  • userテーブルとweaponテーブルを作り、user_weaponの連携テーブルを別途つくる

親子関係にないテーブル同士をつなぐのであればこの方法になります

  • userテーブルにweapon情報を埋め込む

これは検索効率は高いですが、weaponを拡張するときuserテーブルに相当な負荷がかかります。
weaponを予めきっちり決め込んでおく計画性が必要になります。

具体的にはuserにweaponカラムを作りset型のデータで保持する。
もしくは個別weapon毎にカラムを作りbit型やtinyint型で管理す

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • PHP

    19820questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • SQL

    2317questions

    SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

  • phpMyAdmin

    628questions

    phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

  • XAMPP

    481questions

    XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。