CGI-BBS > ホームページ記述言語 > ダイナミックHTML > CSVファイルのデータごとに違うページを表示させたい。


カレッヂ
カレッヂ


質問者 ABC 山  投稿日 7/31(木) 15:15:15
こんにちわ。
以下のHTMLのソースでCSVを読んできて、2列目のデータにリンクを張っています。
リンク先が1行ごとCSVデータに沿って違うリンク先を表示させるようにしたいのですが
なにか方法は無いものでしょうか。


―――――HTMLソース―――――
<html>

<object classid="clsid:333c7bc4-460f-11d0-bc04-0080c7055a83" id="sample" height="0" width="192">
  <param name="DataURL" value="test.csv">
  <param name="UseHeader" value="-1">
  <param name="TextQualifier" value=",">
</object>
<head>
<title>test</title>
<style>
<!--
.cl1{font-size=15px;color="black"; background="#ffe3ee";}
.cl2{font-size=18px;color="black"; background="#ffd9ee";}
.cl3{font-size=25px;color="black"; background="#ffcfee";}
.cl4{font-size=18px;color="black"; background="#ffcfee";}
.-->
</style>
</head>
<table datasrc="#sample" datapagesize="1" border="1">
  <tbody>
    <tr height="30">
      <td align="center" width="70%" class="cl3">test</td>
      <td align="center" width="10%" class="cl4">日付</td>
      <td align="center" width="20%" class="cl4">03.08.01</td>
    </tr>
  </tbody>
</table>
<br>
<table datasrc="#sample" datapagesize="200" border="1" width="600">
  <thead>
    <tr height="30">
      <td width="30" align="Center" class="cl2">TABLE No.</td>
      <td width="30" align="Center" class="cl2">TABLE NAME</td>
      <td width="30" align="Center" class="cl1">使用率(%)</td>
      <td width="40" align="Center" class="cl1">レコード件数(入力項目)</td>      
      <td width="50" align="Center" class="cl1">使用可能レコード数</td>   
      <td width="50" align="Center" class="cl1">未使用レコード数</td>   
      <td width="50" align="Center" class="cl1">備 考</td>   
    </tr>   
  </thead>   
  <tbody>   
    <tr height="30">   
      <td align="Center" class="cl1" width="30"><span datafld="01"></span> </td>   
      <td align="LEFT" class="cl1" width="30"><a href="http://**********.asp"><span datafld="02"></span></a>   </td>
                                   ↑
                      *この部分をCSVのデータごとに変えてあげたい。
      <td align="Center" class="cl1" width="30"><span datafld="03"></span> </td>
      <td align="Center" class="cl1" width="40"><span datafld="04"></span> </td>
      <td align="Center" class="cl1" width="50"><span datafld="05"></span> </td>
      <td align="Center" class="cl1" width="50"><span datafld="06"></span> </td>
      <td align="Center" class="cl1" width=50"><span datafld="07"></span> </td>
    </tr>
  </tbody>
</table>
</body>
</html>

―――――――CSVファイル(test.csv)――――――――
01	02	03	04	05	06	07
1	AB510TBL	20%	103320	46458	393	 
2	AB511TBL	20%	351450	172509	1283	 
3	AC010TBL	20%	3510	74	0	 
4	AC011TBL	20%	2565	981	0	 
5	AC012TBL	20%	8775	66	0	 
6	AC013TBL	20%	4050	4	0	 
7	AC014TBL	20%	13500	552	51	 
8	AC020TBL	20%	4860	2616	4	 
9	AC030TBL	20%	10500	6035	6	 
10	AC040TBL	20%	18525	11882	0	 

プロバイダ参照:
サーバのOS:(未選択)
パソコンのOS:Win95系
エディタ:
FTPソフト:
サーバ移転:していない
改造:(未選択)
CGI習熟度:(未選択)

回答者 cen_picture21  [削除]  投稿日 8/2(土) 08:17:28
ダイナミックHTMLでの質問要項の「id属性を与えたいです。」についての
4/15付けの回答の例3、例4は変数を取得する方法のヒントになります。

CSVデーターに商品名や単価を記載し
HTML上に繰り返し表示される、データーバインドの表をクリックし
そのデーターの内容を変数に格納して
HTMLで作成された見積書の各欄に記入する支援をするスクリプトで使用しました。
内容はかなり複雑になってしまいます。

変数格納を目的とせず、リンクされたページに移動するだけでしたら、

一番簡潔な方法は、
csvデーターのヘッダ名を08(なんでもいいですが)と加えて
その列に行毎のリンク先のurlを記載してください。
この場合必ずurlをいれていないと、だめです。
<A DATAFLD=08 ><SPAN DATAFLD=02></SPAN></A>
にして
HREF属性にリンク先のurlをバインドさせます。

csvデーターは

01,02,03,04,05,06,07,08
1,AB510TBL,20%,103320,46458,393,,u1.htm	 
2,AB511TBL,20%,351450,172509,1283,,u2.htm	 
3,AC010TBL,20%,3510,74,0,,u3.htm	 
4,AC011TBL,20%,2565,981,0,,u4.htm	 
5,AC012TBL,20%,8775,66,0,,u5.htm	 
6,AC013TBL,20%,4050,4,0,,u6.htm	 
7,AC014TBL,20%,13500,552,51,,u7.htm	 
8,AC020TBL,20%,4860,2616,4,,u8.htm	 
9,AC030TBL,20%,10500,6035,6,,u9.htm	 
10,AC040TBL,20%,18525,11882,0,,u10.htm

にして
動作確認ie6.0/xpでしました。

返信(回答)する

 


Web裏技