データベーススクリプト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){
に直してください。
|