カテゴリー
JavaScript PHP

連想配列その4(岩手のアスリート一部)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="GENERATOR" content="JustSystems Homepage Builder Version 18.0.14.0 for Windows">
<title>JavaScript練習中!</title>
</head>
<body background="y8b.gif">
    <?php
    require_once ("newpage8.php");
    print $APPTITLE;

    MyTitlePrint("連想配列その4(岩手のアスリート)、実験開始!");
    ?>
    <script>
        <!--
    	//ここにJavaScriptを書くよー
 	const membersList = {
      "members" : [
          {
            "name" : "阿部寿樹",
            "age" : 30,
            "address" : "岩手県一関市",
          },
          {
            "name" : "岩淵麗楽",
            "age" : 18,
            "address" : "岩手県一関市",
          },
          {
            "name" : "小林陵侑",
            "age" : 23,
            "address" : "岩手県八幡平市",
         
          }
      ]
    }
//第一の出力の仕方
    for (var k in membersList.members) {
	document.write(k + ", ");
 	document.write(membersList['members'][k].name + ", ");
	document.write(membersList['members'][k].age + ", ");
	document.write(membersList['members'][k].address + "<BR>");
    }
//第二の出力の仕方
    document.write("================================" + "<BR>");
    for (var k in membersList.members ) {
    	var propaty = Object.keys(membersList['members'][k]);
    	for (var i=0; i < propaty.length; i++) {
      	    document.write( propaty[i] + ", ");
      	    document.write( membersList['members'][k][propaty[i]] + "<BR>");
    	}
	document.write("================================" + "<BR>");
     } 

      //-->
    </script>

    <?php
        print "$APPFOOTER";
    ?>
<p><a href="JavaScriptMenu.php">JavaScriptMenuへ</a></p>
</body>
</html>

 連想配列の出力の仕方。membersの構成が、画一的であれば、第一の方法で良いでしょう。連想配列の説明を見ていくと、画一的でなく、変化を持たせられる例がありました。C#などでは継承というきちんとした説明がありますが、そんなものなく、いきなりメンバの追加が載ってました。

カテゴリー
JavaScript PHP

連想配列その3

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="GENERATOR" content="JustSystems Homepage Builder Version 18.0.14.0 for Windows">
<title>JavaScript練習中!</title>
</head>
<body background="y8b.gif">
    <?php
    require_once ("newpage8.php");
    print $APPTITLE;

    MyTitlePrint("連想配列その3、実験開始!");
    ?>
    <script>
        <!--
    	//ここにJavaScriptを書くよー
 	const membersList = {
      "members" : [
          {
            "name" : "阿部寿樹",
            "age" : 30,
            "address" : "岩手県一関市",
          },
          {
            "name" : "岩淵麗楽",
            "age" : 18,
            "address" : "岩手県一関市",
          },
          {
            "name" : "小林陵侑",
            "age" : 23,
            "address" : "岩手県八幡平市",
         
          }
      ]
    }
	document.write(membersList['members'][1]['name'] + "<BR>");
	document.write(membersList['members'][1].age + "<BR>");
	document.write(membersList['members'][1].address);
      //-->
    </script>
    <?php
        print "$APPFOOTER";
    ?>
<p><a href="JavaScriptMenu.php">JavaScriptMenuへ</a></p>
</body>
</html>

地元注目アスリートです。

カテゴリー
JavaScript PHP

連想記憶配列×、連想配列○でした。(*_*;

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="GENERATOR" content="JustSystems Homepage Builder Version 18.0.14.0 for Windows">
<title>JavaScript練習中!</title>
</head>
<body background="y8b.gif">
    <?php
    require_once ("newpage8.php");
    print $APPTITLE;

    MyTitlePrint("連想配列その2、実験開始!");
    ?>
    <script>
        <!--
    	//ここにJavaScriptを書くよー
	var FruitsHashList = { 'banana': 10, 'orange': 20, 'apple': 30, 'strowberry' : 40 };
	document.write("FritsHashListのappleの数量: ");
	document.write(FruitsHashList['apple']);
	document.close();
        //-->
    </script>
    <?php
        print "$APPFOOTER";
    ?>
<p><a href="JavaScriptMenu.php">JavaScriptMenuへ</a></p>
</body>
</html>

 これは普通の配列で添え字でなく、キーと言うんですかね?それで配列を参照しています。もともと連想配列はこんな感じだったと思います。ネットで見ると最近はもっと違う感じでの例もあるようです。例えば、個人の住所録を考えてみます。次の例にしますが、もっと一番最初の例の一部分ということになるかもしれません。

連想と言えば、昔ありました。NHKの連想ゲーム。大和田獏さんの奥さん、岡江久美子さん。新型コロナウイルスで亡くなられました。最後は新型コロナウイルスになりましたが、まだまだ戦いは続きそうですね。

カテゴリー
JavaScript PHP

JavaScriptの複雑なデータ構造(連想記憶配列)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="GENERATOR" content="JustSystems Homepage Builder Version 18.0.14.0 for Windows">
<title>JavaScript練習中!</title>
</head>
<body background="y8b.gif">
    <?php
    require_once ("newpage8.php");
    print $APPTITLE;

    MyTitlePrint("連想記憶配列、実験開始!");
    ?>
    <script>
        <!--
    	    //ここにJavaScriptを書くよー
	const superHeroes = {
      "squadName" : "Super hero squad",
      "homeTown" : "Metro City",
      "formed" : 2016,
      "secretBase" : "Super tower",
      "active" : true,
      "members" : [
        {
          "name" : "Molecule Man",
          "age" : 29,
          "secretIdentity" : "Dan Jukes",
          "powers" : [
            "Radiation resistance",
            "Turning tiny",
            "Radiation blast"
          ]
        },
        {
          "name" : "Madame Uppercut",
          "age" : 39,
          "secretIdentity" : "Jane Wilson",
          "powers" : [
            "Million tonne punch",
            "Damage resistance",
            "Superhuman reflexes"
          ]
        },
        {
          "name" : "Eternal Flame",
          "age" : 1000000,
          "secretIdentity" : "Unknown",
          "powers" : [
            "Immortality",
            "Heat Immunity",
            "Inferno",
            "Teleportation",
            "Interdimensional travel"
          ]
        }
      ]
    }
	document.write(superHeroes.homeTown + "<BR>");
	document.write(superHeroes['members'][1]['powers'][2]);
	document.close();
         //-->
    </script>
    <?php
        print "$APPFOOTER";
    ?>
<p><a href="JavaScriptMenu.php">JavaScriptMenuへ</a></p>
</body>
</html>

ネットから拾ったもので、そのままです。後から気が付きましたが、連想記憶配列ですね。

カテゴリー
JavaScript PHP

外部ファイルでの実装

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="GENERATOR" content="JustSystems Homepage Builder Version 18.0.14.0 for Windows">
<title>JavaScript練習中!</title>
</head>
<body background="y8b.gif">
    <?php
    require_once ("newpage8.php");
    print $APPTITLE;

    MyTitlePrint("外部ファイルでの実装、実験開始!");
    ?>
    <script src = "ex_write.js">
        <!--
    	    //ここにJavaScriptを書くよー
	
         //-->
    </script>
    <?php
        print "$APPFOOTER";
    ?>
<p><a href="JavaScriptMenu.php">JavaScriptMenuへ</a></p>
</body>
</html>
 

 ex_write.jsファイルもhpbでは、転送ファイルの入っていないので、newpage8.phpとFTPツールでアップしないといけない。変更があれば。無ければしなくてよいと思う。フォルダーの表示では、ex_write.jsは転送対象のファイルでなかったが、もう一度やったらサイト転送に入っていた。

カテゴリー
JavaScript PHP

document.writeしてみましたが、…

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="GENERATOR" content="JustSystems Homepage Builder Version 18.0.14.0 for Windows">
<title>JavaScript練習中!</title>
</head>
<body background="y8b.gif">
    <?php
    require_once ("newpage8.php");
    print $APPTITLE;

    MyTitlePrint("JavaScript02.php実験開始!");
    ?>
    <script>
        <!--
    	    //ここにJavaScriptを書くよー
    	    document.writeln("こんにちは、JavaScript.");
	    var astr = "よろしくお願いいたします。";
	    document.writeln(astr);
	    var a = 10;
	    var b = 20;
	    document.writeln(a + b);
        //-->
    </script>
    <?php
        print "$APPFOOTER";
    ?>
<p><a href="JavaScriptMenu.php">JavaScriptMenuへ</a></p>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="GENERATOR" content="JustSystems Homepage Builder Version 18.0.14.0 for Windows">
<title>JavaScript練習中!</title>
</head>
<body background="y8b.gif">
    <?php
    require_once ("newpage8.php");
    print $APPTITLE;

    MyTitlePrint("JavaScript02.php実験開始!");
    ?>
    <script>
        <!--
    	    //ここにJavaScriptを書くよー
    	    document.write("こんにちは、<strong>JavaScript。</strong><BR>");
	    var astr = "よろしくお願いいたします。<BR>";
	    document.write(astr);
	    var a = 10;
	    var b = 20;
	    document.write("a + b = ",a + b + "<BR>");
	    document.close();
        //-->
    </script>
    <?php
        print "$APPFOOTER";
    ?>
<p><a href="JavaScriptMenu.php">JavaScriptMenuへ</a></p>
</body>
</html>

 ducument.writelnで出力はされますが、すべて同じ行にされます。なんでか?答えは、言われればわかるですね。(*_*;文字としての”<BR>”を付ければ、改行します。あたりまえの話、ですが、わすれるんですよ。人間だもの。

 結構時間かかりました。

カテゴリー
JavaScript PHP

最初のJavaScript01.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="GENERATOR" content="JustSystems Homepage Builder Version 18.0.14.0 for Windows">
<title>JavaScript練習中!</title>
</head>
<body background="y8b.gif">
    <?php
    require_once ("newpage8.php");
    print $APPTITLE;

    MyTitlePrint("JavaScript実験開始!");
    print "$APPFOOTER";
?>
    <script>
	//ここにJavaScriptを書くよー
    </script>
<p><a href="JavaScriptMenu.php">JavaScriptMenuへ</a></p>
</body>
</html>

枠組みだけのScriptです。

カテゴリー
PHP

mysqli_connect使ったデータベース接続とテーブルのリストアップ

<?php
//下請け関数
  function meiboPrintDataCreate($rst){
    $createpart = "<TABLE border='1'>
              <TR>
               <TH>id</TH>
               <TH>namae</TH>
               <TH>jyusyo</TH>
               <TH>prefcod</TH>
              </TR>";
//結果セットからデータを読み込みます
    while($col = mysqli_fetch_array($rst)) {
      $createpart .= "<TR>" .
                  "<TD>$col[id]</TD>" .
                  "<TD>$col[namae]</TD>" . 
                  "<TD>$col[jyusyo]</TD>" .
                  "<TD>$col[prefcode]</TD>" .
               "</TR>";
     }
     $createpart .= "</TABLE>";
     return $createpart;
  }

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="GENERATOR" content="JustSystems Homepage Builder Version 18.0.14.0 for Windows">
<title></title>
</head>
<body background="y8b.gif">

 <?php
  require_once ("newpage8.php");
//自身の環境に合わせて書き換える
//接続に必要な$hostname、$dbname、$username、$passwordはnewpage8.phpへ移動
//newpage8.phpはサイト転送出来ないので、転送ツールでアップする

  print $APPTITLE;

  MyTitlePrint("実験開始!データベース接続テスト by mysqli_connect関数");

// データベースへ接続
   $db_link = mysqli_connect( $hostname, $username, $password);
// 接続エラーの確認
   if( mysqli_connect_errno($db_link) ) {
	echo mysqli_connect_errno($db_link) . ' : ' . mysqli_connect_error($db_link);
    }
    $selectdb = mysqli_select_db($db_link, $dbname);
    $sql = "SELECT * from meibo";
    $rst = mysqli_query($db_link, $sql);
    $OutPutbody = mysqli_num_rows($rst) . "件のデータがあります。<BR><BR>";
    $OutPutbody .= meiboPrintDataCreate($rst);
    $body .= $OutPutbody;
//接続解除
    mysqli_close($db_link); 
  
    print $body;    
    print "$APPFOOTER";

?>

<p><a href="DBphpmenu.php">データベースメニューへ戻る</a></p>
</body>
</html>

なんかおかしいですね。何が原因か分かりませんが、不安定です。

カテゴリー
PHP

mysqli_connect関数を使ったデータベース接続

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="GENERATOR" content="JustSystems Homepage Builder Version 18.0.14.0 for Windows">
<title></title>
</head>
<body background="y8b.gif">

 <?php
  require_once ("newpage8.php");
//自身の環境に合わせて書き換える
//接続に必要な$hostname、$dbname、$username、$passwordはnewpage8.phpへ移動
//newpage8.phpはサイト転送出来ないので、転送ツールでアップする

  print $APPTITLE;

  MyTitlePrint("実験開始!データベース接続テスト by mysqli_connect関数");

//------正常に接続できない
$dsn = "mysql:host= $hostname";
// データベースへ接続
   $db_link = mysqli_connect( $hostname, $username, $password);

// 接続エラーの確認
   if( mysqli_connect_errno($db_link) ) {
	echo mysqli_connect_errno($db_link) . ' : ' . mysqli_connect_error($db_link);
    }
    $selectdb = mysqli_select_db($db_link, $dbname);
    $sql = "SELECT * from meibo";
    $rst = mysqli_query($db_link, $sql);

// 接続解除
    mysqli_close($db_link);

  print "$APPFOOTER";

?>

<p><a href="newpage10.php">書き込みインデックスへ戻る</a></p>
</body>
</html>

 以前にもデータベースには接続できていました。それはPDOを使ったやり方で、現時点では一般的な方法のようです。しかし前からあった方法に近い方法もあるようです。それがmysqli_connectなどを使った方法です。さらに以前からあったmysql_connectなどを使った方法はphpが5かそれ以前の様で今現在は使えないこともありそうです。なのでversionに注意しておかないといけないということなんですね。

カテゴリー
PHP

meiboの最終レコードを読んで、入力する

<html><HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="GENERATOR" content="JustSystems Homepage Builder Version 18.0.14.0 for Windows">
<TITLE>ユーザ情報登録</TITLE>
</HEAD>
<body background="y8b.gif">

 <?php
  require_once ("newpage8.php");
  print $APPTITLE;
  MyTitlePrint("実験開始!ラストmeiboレコードゲット、meibo入力フォーム 表示!!");
?>
<?php
    $dsn = "mysql:host=".$hostname.";dbname=".$dbname;

    try {
    $dbh = new PDO($dsn, $username, $password);

    // 接続を使用する
    $sql = 'SELECT * FROM meibo WHERE id = (SELECT MAX(id) FROM meibo)';
    $maxrecid = $dbh->query( $sql);
    echo "<table>\n";
    echo "\t<tr><th>id</th><th>namae</th><th>jyusyo</th><th>prefcode</th></tr>\n";
    while( $result = $maxrecid->fetch( PDO::FETCH_ASSOC ) ){
      echo "\t<tr>\n";
      echo "\t\t<td>{$result['id']}</td>\n";
      echo "\t\t<td>{$result['namae']}</td>\n";
      echo "\t\t<td>{$result['jyusyo']}</td>\n";
      echo "\t\t<td>{$result['prefcode']}</td>\n";
      echo "\t</tr>\n";
    }
    echo "</table>\n";

    } catch (PDOException $e) {
        echo 'Connection failed: ' . $e->getMessage();
    }
    print "$APPFOOTER"; 
  
?>


<FORM method="POST" action="MeiboFormInput2.php">
<TABLE border="0">
  <TBODY>
    <TR>
      <TD>meiboid</TD>
      <TD><INPUT size="10" type="text" name = "meiboid2"></TD>
    </TR>
    <TR>
      <TD>氏名</TD>
      <TD><INPUT size="30" type="text" name="simei2"></TD>
    </TR>
    <TR>
      <TD>住所都道府県以下</TD>
      <TD><INPUT size="50" type="text" name="ikajyusyo2"></TD>
    </TR>
    <TR>
      <TD>都道府県コード</TD>
      <TD><INPUT size="10" type="text" name="todouhukencode2"></TD>
    </TR>
      <TR>
      <TD colspan="2" align="center"><BR>
      <INPUT type="submit" value=" 登録 " name="exereg2"> <INPUT type="submit" value="キャンセル" name="cancelreg2"></TD>
    </TR>
  </TBODY>
</TABLE>
</FORM>

<!--
<p><a href="newpage10.php">書き込みインデックスへ戻る</a></p>
-->

</body></html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="GENERATOR" content="JustSystems Homepage Builder Version 18.0.14.0 for Windows">
<title></title>
</head>
<body background="y8b.gif">

 <?php
  require_once ("newpage8.php");
  print "$APPTITLE";
  MyTitlePrint("実験開始!入力フォーム決定データ 表示します!!");
?>

<?php

  if (isset($_POST['exereg2'])) {
    print "登録ボタンが、クリックされました!" . "<BR>";
    print "meiboid → "            . $_POST["meiboid2"] . "<BR>";
    print "氏名 → "        . $_POST["simei2"] . "<BR>";
    print "以下住所 → "            . $_POST["ikajyusyo2"] . "<BR>";
    print "都道府県コード → "        . $_POST["todouhukencode2"] . "<BR>";

    $dsn = "mysql:host=".$hostname.";dbname=".$dbname;

    try {
    $dbh = new PDO($dsn, $username, $password);

    // 接続を使用する
    $Meiboid2 = $_POST["meiboid2"];
    $Simei2 = "'" . $_POST["simei2"] . "'";
    $Ikajyusyo2 = "'" . $_POST["ikajyusyo2"] . "'";
    $Todouhukencode2 = $_POST["todouhukencode2"];
    $sql = "INSERT INTO `isamstar2_wp1`.`meibo` (`id`, `namae`, `jyusyo`, `prefcode`) VALUES
                                                ($Meiboid2, $Simei2, $Ikajyusyo2, $Todouhukencode2)";

    $stmt= $dbh->query( $sql);

    $sql = 'select id, namae, jyusyo, prefcode from meibo';
    $stmt= $dbh->query( $sql);

    echo "<table>\n";
    echo "\t<tr><th>id</th><th>namae</th><th>jyusyo</th><th>prefcode</th></tr>\n";
    while( $result = $stmt->fetch( PDO::FETCH_ASSOC ) ){
      echo "\t<tr>\n";
      echo "\t\t<td>{$result['id']}</td>\n";
      echo "\t\t<td>{$result['namae']}</td>\n";
      echo "\t\t<td>{$result['jyusyo']}</td>\n";
      echo "\t\t<td>{$result['prefcode']}</td>\n";
      echo "\t</tr>\n";
    }
    echo "</table>\n";

    } catch (PDOException $e) {
        echo 'Connection failed: ' . $e->getMessage();
    }

     print "$APPFOOTER"; 
  }
  elseif (isset($_POST['cancelreg2'])) {
    print "キャンセルボタンがクリックされました!";
  }

?>
<p><a href="newpage10.php">書き込みインデックスへ戻る</a></p>

</body>
</html>

上の部分では、idが一番大きいレコードを読んで表示した後、meiboのレコードを入力します。登録ボタンを押すと、下のプログラムが起動します。確定したデータを登録して、全レコードをリストアップします。データが少ない時は良いでしょうが多かったら、追加したレコードだけでいいように思います。

inserted by FC2 system