プログラミング覚え書き

WEB製作覚え書き

ノート代わりに勉強した内容をまとめています。

PHP+MariaDB:ユーザがレコードを登録するためのフォーム

 

<?php
// ▼▼デバッグ領域の表示「true」・非表示「false」▼▼
$debug = true;

// ▼▼オリジナル関数を実行可能にする:h関数▼▼
require_once dirname(__FILE__. '/functions.php';

// ▼▼接続と準備▼▼
$dbobj = mysqli_connect('localhost''Tanaka''Manager')
  or die(mysqli_error($dbobj));
mysqli_select_db($dbobj'practice');
mysqli_set_charset($dbobj'utf8');

// ▼▼$trSetにtraderテーブル情報を代入▼▼
$sql = 'SELECT * FROM trader';
$trSet = mysqli_query($dbobj$sql) or die(mysqli_error($dbobj));
?>
<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF8">
  <link href="style.css" type="text/css" rel="stylesheet">
  <title>商品管理システム</title>
</head>

<body>
  <?php if ($debug) : ?>
    <div class="debug">
      <p>デバッグ</p>
      <!-- SELECT文を表示 -->
      <p>$sql : <?php print $sql?></p>
    </div>
  <?php endif?>

  <div id="container">
    <div id="head">
      <h1>新規登録</h1>
    </div>
    <div id="content">

      <!-- ▼▼フォーム▼▼ -->
      <form action="insert.php" method="post">

        <!-- ▼▼商品情報のグループ▼▼ -->
        <fieldset>
          <!-- ▼▼グループ名▼▼ -->
          <legend>新しい商品の情報</legend>
          <!-- ▼▼定義リストで入力パーツを作成▼▼ -->
          <dl>
            <dt><label for="item">商品名<span>※必須</span></label></dt>
            <dd><input name="item" type="text" id="item" size="20" maxlength="10"></dd>
            <dt><label for="price">価格</label></dt>
            <dd><input name="price" type="text" id="price" size="10" maxlength="10"></dd>
            <dt><label for="stock">在庫</label></dt>
            <dd><input name="stock" type="text" id="stock" size="10" maxlength="10"></dd>
            <dt><label for="keyword">キーワード</label></dt>
            <dd><input name="keyword" type="text" id="keyword" size="50" maxlength="255"></dd>
          </dl>
        </fieldset>

        <!-- メーカー情報のグループ▼▼ -->
        <fieldset>
          <!-- ▼▼グループ名▼▼ -->
          <legend>メーカーの情報</legend>
          <!-- ▼▼定義リストでラジオボタン作成▼▼ -->
          <dl>
            <dt>メーカー<span>※必須</span></dt>
            <dd>
              <!-- ▼▼$trSet(会社情報)の情報を連想配列で出力▼▼ -->
              <?php while ($trData = mysqli_fetch_assoc($trSet)) : ?>
                <label>
                  <!-- ▼▼ラジオボタンの値と会社名を指定▼▼ -->
                  <input name="maker" type="radio" value="<?php echo h($trData['m_id']); ?>">
                  <?php echo h($trData['company']); ?>
                </label>
              <?php endwhile?>
            </dd>
            <dl>
        </fieldset>

        <div class="submit_btn"><input type="submit" value="登録"></div>
      </form>


      <p><a href="index.php" onclick="return confirm('一覧に戻りますか?')">
          一覧に戻る</a></p>
      <!--#content-->
      <!--#container-->
    </div>
</body>

</html>

 ↓ ↓ ↓

f:id:midori_x:20200213121837p:plain

 

定義リストのddタグ内にinputタグを記述、dtにタグ内にlabelタグを記述。

inputタグのname属性、labelタグのfor属性を同一にすると、以下の様に文字をクリックした時に入力枠がアクティブになる。

f:id:midori_x:20200213123111p:plain