| データベーススクリプトVer5です。これは簡易検索機能タイプのアドレス帳です。
 何でも良いので、データに含まれている文字を入力すると、その文字に関するデータが出力されます。
 
 半角スペースで区切る事で、複数検索も可能です。
 ただし複数検索の場合、or検索のみで、and検索は不可能です。
 
 現在入ってるサンプルデータは、
 の三つです。色々とキーワードにして試して下さい。
「阿河いつき、北海道、1111-1111、090-1111-1111、1960/1/1、あいうえお」
 「勝山きくこ、かきくけこ」
 
 「斉藤しずえ、3333-3333、090-3333-3333、1999/3/3」
 
 
 応用すれば別のデータベースにもなりますね。
 
 ・サンプルを見る
 ・ソースを保存する
 (右クリック→「対象をファイルに保存」or「リンクを名前を付けて保存」して下さい。)
 ・ソースを見る
 ・解説を見る
 ・補足解説を見る
 
 
 
 
 
 [ ソース ]
 
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<script language="JavaScript">
<!--//Copyright (C) WEST MiRa http://www.west-mira.jp
	my_data=new Array();
	ths=new Array();
	td_align=new Array();
	//********** データ *********
	//項目名
	ths[0]="名 前";
	ths[1]="住 所";
	ths[2]="電話番号";
	ths[3]="携帯・PHS";
	ths[4]="誕 生 日";
	ths[5]="メ モ";
	//データの総数
	//データの増減を行った際は、必ず書き替えて下さい。
	data_num=3;
	for(i=0; i<data_num; i++){ my_data[i]=new Array(); }
	//データ1
	my_data[0][0]="阿河いつき";
	my_data[0][1]="北海道";
	my_data[0][2]="1111-1111";
	my_data[0][3]="090-1111-1111";
	my_data[0][4]="1960/1/1";
	my_data[0][5]="あいうえお";
	//データ2
	my_data[1][0]="勝山きくこ";
	my_data[1][1]="<br>";
	my_data[1][2]="<br>";
	my_data[1][3]="<br>";
	my_data[1][4]="<br>";
	my_data[1][5]="かきくけこ";
	//データ3
	my_data[2][0]="斉藤しずえ";
	my_data[2][1]="<br>";
	my_data[2][2]="3333-3333";
	my_data[2][3]="090-3333-3333";
	my_data[2][4]="1999/3/3";
	my_data[2][5]="<br>";
	//********** 配置指定 *********
	//center , right , leftのいずれかを指定
	//結果画面全体の配置
	table_align="left";
	//項目の配置
	th_align="center";
	//データの配置
	//上から順に項目1の配置、項目2の配置…
	td_align[0]="left";
	td_align[1]="left";
	td_align[2]="left";
	td_align[3]="left";
	td_align[4]="left";
	td_align[5]="left";
	//********** スタイル *********
	//ウィンドウのタイトルを指定
	win_title='結果画面';
	//ウィンドウの背景色を指定
	bg_color='#ffffff';
	//ウィンドウの文字色を指定
	text_color='#000000';
	//ウィンドウのリンク色を指定
	link_color='#ff0000';
	//ウィンドウのvlink色を指定
	vlink_color='#00ff00';
	//ウィンドウのalink色を指定
	alink_color='#0000ff';
	//テーブルの横幅を指定
	table_w='400';
	//テーブルの背景色を指定
	table_bgcolor='#ffffff';
	//テーブルのthの背景色を指定
	th_bgcolor='#ffd9b7';
	//テーブルのthの文字色を指定
	th_textcolor='#622f00';
	//テーブルのthの文字サイズを指定
	th_textsize='3';
	//テーブルのtdの背景色を指定
	td_bgcolor='#fff795';
	//テーブルのtdの文字色を指定
	td_textcolor='#645c00';
	//テーブルのtdの文字サイズを指定
	td_textsize='3';
	//ウィンドウの戻るボタン名を指定
	//画像ボタンを使用したい場合は、imgタグを記入
	button='戻る';
	function syuukei5()
		{
		var mojis='';
		kensaku=new Array();
		kensaku=document.form1.text1.value.split(" ");
		mojis='<html>\n<head>\n<title>'+win_title+'<\/title>\n<\/head>\n';
		mojis+='<body text="'+text_color+'" bgcolor="'+bg_color+'" link="'+link_color+'" vlink="'+vlink_color+'" alink="'+alink_color+'">\n';
		mojis+='「'+kensaku+'」の検索結果<br>\n';
		mojis+='<div align="'+table_align+'">';
		mojis+='<table width="'+table_w+'" border="1" bgcolor="'+table_bgcolor+'">\n';
		mojis+='<tr align="'+th_align+'">\n';
		for(i=0; i<ths.length; i++)
			mojis+='<th bgcolor="'+th_bgcolor+'"><font size="'+th_textsize+'" color="'+th_textcolor+'">'+ths[i]+'<\/font><\/th>\n';
		mojis+='<\/tr>\n';
		if(kensaku.length > 0)
			{
			for(i=0; i<my_data.length; i++)
				{
				for(j=0; j<ths.length; j++)
					{
					for(l=0; l<kensaku.length; l++)
						{
						if(my_data[i][j].indexOf(kensaku[l]) != -1)
							{
							mojis+='<tr>\n';
							for(k=0; k<ths.length; k++)
								mojis+='<td bgcolor="'+td_bgcolor+'" align="'+td_align[k]+'"><font size="'+td_textsize+'" color="'+td_textcolor+'">'+my_data[i][k]+'<\/font><\/td>\n';
							}
						}
					}
				mojis+='<\/tr>\n';
				}
			}
		mojis+='<\/table>\n<br clear="all"><a href="javascript:history.back();">'+button+'<\/a><\/font><\/div><\/body><\/html>';
		delete kensaku;
		with(document)
			{
			open();
			write(mojis);
			close();
			}
		}
//-->
</script>
</head>
<body>
<form name="form1" onSubmit="syuukei5();">
<input type="text" name="text1" size="25">
<input type="button" value="Click!" onClick="syuukei5();">
</form>
 ・
 ・
 ・
</body></html>
 
 [ 解説 ]
 
 まず最初にデータの形式から説明していきます。
 
 //データ1
 my_data[0][0]="阿河いつき";
 my_data[0][1]="北海道";
 my_data[0][2]="1111-1111";
 my_data[0][3]="090-1111-1111";
 my_data[0][4]="1960/1/1";
 my_data[0][5]="あいうえお";
 
 で、一つのデータです。
 データを増やす場合、減らす場合、上の6行を丸々増やすor減らす事になります。
 サンプルにデータを一つ増やすとすると、
 
 
 
| 変 更 前 | 変 更 後 | 
|---|
 | //データ1 my_data[0][0]="阿河いつき";
 my_data[0][1]="北海道";
 my_data[0][2]="1111-1111";
 my_data[0][3]="090-1111-1111";
 my_data[0][4]="1960/1/1";
 my_data[0][5]="あいうえお";
 
 //データ2
 my_data[1][0]="勝山きくこ";
 my_data[1][1]="<br>";
 my_data[1][2]="<br>";
 my_data[1][3]="<br>";
 my_data[1][4]="<br>";
 my_data[1][5]="かきくけこ";
 
 //データ3
 my_data[2][0]="斉藤しずえ";
 my_data[2][1]="<br>";
 my_data[2][2]="3333-3333";
 my_data[2][3]="090-3333-3333";
 my_data[2][4]="1999/3/3";
 my_data[2][5]="<br>";
 
 | //データ1 my_data[0][0]="阿河いつき";
 my_data[0][1]="北海道";
 my_data[0][2]="1111-1111";
 my_data[0][3]="090-1111-1111";
 my_data[0][4]="1960/1/1";
 my_data[0][5]="あいうえお";
 
 //データ2
 my_data[1][0]="勝山きくこ";
 my_data[1][1]="<br>";
 my_data[1][2]="<br>";
 my_data[1][3]="<br>";
 my_data[1][4]="<br>";
 my_data[1][5]="かきくけこ";
 
 //データ3
 my_data[2][0]="斉藤しずえ";
 my_data[2][1]="<br>";
 my_data[2][2]="3333-3333";
 my_data[2][3]="090-3333-3333";
 my_data[2][4]="1999/3/3";
 my_data[2][5]="<br>";
 
 //データ4
 my_data[2][0]="立花たえこ";
 my_data[2][1]="<br>";
 my_data[2][2]="4444-4444";
 my_data[2][3]="090-4444-4444";
 my_data[2][4]="1999/4/4";
 my_data[2][5]="<br>";
 
 |  このように、書式が同じで、赤字の数字部分が一つずつ大きくなっていきます。
 
 データの内容がない部分には、「<br>」を入れて下さい。
 上では2行目と、6行目に入ってますね。
 入れなくても別に問題はないのですが、結果を綺麗に見せるため、
入れた方が良いでしょう。
 
 
 データを削除する際は、下から順に1つのデータを丸ごと削除します。
 例えばサンプルのデータからデータを1つ削除するとしますと、以下のようになります。
 
 
 
| 変 更 前 | 変 更 後 | 
|---|
 | //データ1 my_data[0][0]="阿河いつき";
 my_data[0][1]="北海道";
 my_data[0][2]="1111-1111";
 my_data[0][3]="090-1111-1111";
 my_data[0][4]="1960/1/1";
 my_data[0][5]="あいうえお";
 
 //データ2
 my_data[1][0]="勝山きくこ";
 my_data[1][1]="<br>";
 my_data[1][2]="<br>";
 my_data[1][3]="<br>";
 my_data[1][4]="<br>";
 my_data[1][5]="かきくけこ";
 
 //データ3
 my_data[2][0]="斉藤しずえ";
 my_data[2][1]="<br>";
 my_data[2][2]="3333-3333";
 my_data[2][3]="090-3333-3333";
 my_data[2][4]="1999/3/3";
 my_data[2][5]="<br>";
 
 | //データ1 my_data[0][0]="阿河いつき";
 my_data[0][1]="北海道";
 my_data[0][2]="1111-1111";
 my_data[0][3]="090-1111-1111";
 my_data[0][4]="1960/1/1";
 my_data[0][5]="あいうえお";
 
 //データ2
 my_data[1][0]="勝山きくこ";
 my_data[1][1]="<br>";
 my_data[1][2]="<br>";
 my_data[1][3]="<br>";
 my_data[1][4]="<br>";
 my_data[1][5]="かきくけこ";
 
 
 |  
 
 項目の名称(名前、住所など)を変更したい場合は、
 
 var ths=new Array();
 ths[0]="名 前";
 ths[1]="住 所";
 ths[2]="電話番号";
 ths[3]="携帯・PHS";
 ths[4]="誕 生 日";
 ths[5]="メ モ";
 
 の部分を変更します。
 お好きな項目の名称を入れて下さい。
 
 また、スクリプトの下の方にある
 
 <input type="checkbox" name="namae">名前
 <input type="checkbox" name="ado">住所
 <input type="checkbox" name="tel">電話番号<br>
 <input type="checkbox" name="keitai">携帯
 <input type="checkbox" name="bir">誕生日
 <input type="checkbox" name="memo">メモ<br>
 
 部分も、同じ項目の名称に変更して下さい。
 
 
 項目自体を減ら場合は、不要な項目を削除します。
 その際、スクリプト内の項目名称部分、HTML部分のインプットタグ、
データ部分の、3つの部分で不要な項目を削除して下さい。
 
 例えば、サンプルで「メモ」の項目を削除する場合。
 まず各データの「メモ」の項目に当たるデータを削除します。
 
 
 
| 変 更 前 | 変 更 後 | 
|---|
 | //データ1 my_data[0][0]="阿河いつき";
 my_data[0][1]="北海道";
 my_data[0][2]="1111-1111";
 my_data[0][3]="090-1111-1111";
 my_data[0][4]="1960/1/1";
 my_data[0][5]="あいうえお";
 
 //データ2
 my_data[1][0]="勝山きくこ";
 my_data[1][1]="<br>";
 my_data[1][2]="<br>";
 my_data[1][3]="<br>";
 my_data[1][4]="<br>";
 my_data[1][5]="かきくけこ";
 
 //データ3
 my_data[2][0]="斉藤しずえ";
 my_data[2][1]="<br>";
 my_data[2][2]="3333-3333";
 my_data[2][3]="090-3333-3333";
 my_data[2][4]="1999/3/3";
 my_data[2][5]="<br>";
 
 | //データ1 my_data[0][0]="阿河いつき";
 my_data[0][1]="北海道";
 my_data[0][2]="1111-1111";
 my_data[0][3]="090-1111-1111";
 my_data[0][4]="1960/1/1";
 
 //データ2
 my_data[1][0]="勝山きくこ";
 my_data[1][1]="<br>";
 my_data[1][2]="<br>";
 my_data[1][3]="<br>";
 my_data[1][4]="<br>";
 
 //データ3
 my_data[2][0]="斉藤しずえ";
 my_data[2][1]="<br>";
 my_data[2][2]="3333-3333";
 my_data[2][3]="090-3333-3333";
 my_data[2][4]="1999/3/3";
 
 |  次に、スクリプト内の項目名の名称を削除します。
 
 
 
| 変 更 前 | 変 更 後 | 
|---|
 | ths[0]="名 前"; ths[1]="住 所";
 ths[2]="電話番号";
 ths[3]="携帯・PHS";
 ths[4]="誕 生 日";
 ths[5]="メ モ";
 | ths[0]="名 前"; ths[1]="住 所";
 ths[2]="電話番号";
 ths[3]="携帯・PHS";
 ths[4]="誕 生 日";
 
 |  ちなみに、増やす時はこれと反対の要領で、2つの部分の項目を増やしていけばOKです。
 項目を増やす際、数字の部分を1つずつ繰り上げていくのを忘れないでください。
 
 
 (補足)
 
 このスクリプトをフレームで使用し、結果画面を別フレームに表示したい場合はスクリプト内にある
 with(document){
 を
 with(parent.フレーム名.document){
 に直してください。
 
 |