【最大10000ポイント】当たる!!質問投稿キャンペーン!

サイト訪問者が任意でボタンをクリックしてくれた数をカウントし、合計にするPHPをどなたか教えていただけないでしょうか。

(PHPをはじめたばかりです、よろしくお願いいたします。)

index.phpのボタンをクリックすると、クリック回数をnumber.phpに上書き保存し、更にクリックされたら新しくクリックされた回数+number.phpの数の合計を上書きする、というスクリプトを書こうとしています。

index.php ここから----------------------------------------
<html>
<body>

<form action="index.php" method="get">

<input type="submit" value="クリック">

合計<input type="text" name="munber" value="<?php
$file = "munber.php";
@readfile($file);?> ">

</form>

</body>
</html>
index.php ここまで----------------------------------------


number.phpは単に数が一行あるだけです。(例として 5 )

上記のindex.phpでは、ただボタンがあり、ただnumber.phpの数(5)を表示しているだけで、足し算は行われません。(画像参照)

これをどのように書き換えると、ボタンをクリックしたらnumber.php + 1 を行い、number.phpの値も書き換える、というプログラムになるでしょうか。

※アクセス解析ではないので、IPやリファラなどは関係なく、(誰が何回でも)ボタンをクリックした回数を単純にカウントする数式が欲しいです。

どうぞよろしくお願いいたします。

「ボタンのクリック数を合計保存するPHPプ」の質問画像

このQ&Aに関連する最新のQ&A

A 回答 (2件)

こんにちは。



ボタンをクリックしたらを完全に見落としてました。

リロード処理等も入れなくてはいけなくなってきますのでカウントするのは別ファイルにしたほうが良いと思います。

count.php>>

<?php
$file = "./number.php";
$fp = fopen ( $file,"r" );
$now = fgets ( $fp );
fclose ( $fp );
$now ++;
$fp = fopen ( $file, "w" );
fputs ( $fp, $now );
fclose ( $fp );
// "/test/index.php"は自分の環境に合わせる
header ( "Location: http://" . $_SERVER['HTTP_HOST'] . "/test/index.php" );
exit;
?>

>>count.php

index.php>>
<html>
<body>
<form action="count.php" method="get">
<input type="submit" value="クリック!<?php readfile("./number.php") ?>">
</form>
</body>
>>index.php

前回同様ロック処理やセキュリティの考慮は皆無ですので実運用するにはもうちょっと手を加えないといけませんがこんな感じで作ればよいと思います。

上記動作はボタンを押すとcount.phpへ飛び、カウント処理を実行後またボタンの表示されているページへ戻ります。
戻ってくるとボタンに表示されているカウントが加算されます。
更新ボタンを押した場合はカウントは変わりません。
    • good
    • 5
この回答へのお礼

ありがとうございました。
長く教えてgooにログインできず、お返事が大変おそくなってしまい失礼いたしました。

お礼日時:2011/04/10 22:53

こんにちは。



単純(ファイルロックやセキュリティー等考慮せず)に作るのであれば以下のような感じで作れば動くと思います。
動きとしてはnumber.phpファイルを読み込んで加算し、その値を書き込むという動きです。

<?php

$file = "./number.php";
$fp = fopen ( $file,"r" );
$now = fgets ( $fp );
fclose ( $fp );
$now ++;
$fp = fopen ( $file, "w" );
fputs ( $fp, $now );
fclose ( $fp);
?>
<html>
<body>

<form action="index.php" method="get">

<input type="submit" value="クリック">

合計<input type="text" name="number" value="<?= $now ?>">

</form>

</body>
</html>
    • good
    • 2
この回答へのお礼

こんばんは、こんな初歩の初心者の質問にお答えくださってありがとうございます。

教えていただいたコードで確かにカウントし、カウントした数字は別ファイルに上書きされるようになりました! (<input type="text" name="number" value="<?= $now ?>"> この部分がそのままでは動かなかったので、この部分はincludeでnumber.phpの内容を強制的に表示させました)

ただ、この状態で http://localhost/index.php として、index.phpに上記のタグを記入してブラウザでこのページを表示すると、ブラウザの表示やブラウザの更新ボタンをクリックした時も数をカウントしてしまいました。

できればブラウザの表示回数は計算に含めずに、ボタンをクリックした数だけをクリックできると嬉しいなと思いましたが、教えていただいた計算式さえ自分ではPHPがわからなくて、いずれにせよ、「PHP頑張ろう!!」とすごく思いました。

本当にありがとうございます!

お礼日時:2010/11/30 17:23

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q送信ボタンでカウントアップ

HTMLを表示して、ボタンを押すと数字がカウントされていく仕組みを作りたく悩んでいます。

<html>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<body>

<?php
$logfile = "./kinen.log";


if( $fn = @fopen($logfile, 'r') ) {
$counter = trim(fgets($fn));
fclose($fn);
}
print( $counter . "本禁煙成功しました<br>");
print( ++$counter . "人目のお客様です<br>");

?>

<form>

</form>

<?php
if( $fn = @fopen($logfile, 'w') ) {
fwrite( $fn, $counter);
fclose($fn);
}
?>

</body>
</html>

リロードで正常にカウントアップされていきますが、ボタンを押して動くようにはできないものでしょうか。
初心者なもので。。宜しくお願い致します。

HTMLを表示して、ボタンを押すと数字がカウントされていく仕組みを作りたく悩んでいます。

<html>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<body>

<?php
$logfile = "./kinen.log";


if( $fn = @fopen($logfile, 'r') ) {
$counter = trim(fgets($fn));
fclose($fn);
}
print( $counter . "本禁煙成功しました<br>");
print( ++$counter . "人目のお客様です<br>");

?>

<form>

</form>

<?php
if( $fn = @fopen($logfile, '...続きを読む

Aベストアンサー

ANo.2です。

>ボタンを押したときだけカウントアップするものでした。

であれば

  <form action="" method="post">
  <input type="submit" name="submit" value="更新">
  </form>

などとしておいて、スクリプト側で「if ($_POST)」でチェックすればGET(リロード)ではカウントしなくなります。

Qクリックカウンターの作り方

HPにボタンをクリックした回数を表示させたいのですが、どうすればいいのでしょうか?

<HTML>
<BODY>
<center>
<form>
あなたは<input type=text name=mnt value=0 size=6>人目です。<br>
<input type=button value="クリックしてね" onClick="javascript:this.form.mnt.value++;">
</form>
</center>
</BODY>
</HTML>

このようにすると、数字の部分がテキストボックスになってしまうのでNGです。
また、2重クリックもできないようにしたいのですが・・・。

Aベストアンサー

>あなたは・・・人目です
>2重クリックもできないようにしたい
質問内容を見る限りではアクセスカウンターの作り方かと思われますが、
アクセスカウンターということでしたらJavaScriptではNGです。
クリックした回数を保持できないので、ページを表示するたびに回数が0にリセットされます。
自前のアクセスカウンターを実装したいのでしたらASPやPHPなどを使わなければいけません。

もとい、
ボタンをクリックした回数をページ上に表示するということに限定してお答えします。

>数字の部分がテキストボックスになってしまうのでNG
数値の部分がテキストボックスにしないようにするにはダイナミックHTMLを使うと実現できるかと。

>2重クリックもできないようにしたい
フラグを立ててif文で制御すれば実現できるかと。

<HTML>
<head>
<Script language="JavaScript">
<!--
var cnt = 0;
var flg = true;

function f_click(){
if(flg){
cnt++;
document.getElementById('Ninzu').innerHTML=cnt;
flg = false;
}
}
//-->
</Script>
</head>
<BODY>
<center>
あなたは<span id="Ninzu">0</span>人目です。<br>
<input type=button value="クリックしてね" onClick="f_click()">
</center>
</BODY>
</HTML>

見当違いの回答だとしても、今後の参考になっていただければ幸いです。

>あなたは・・・人目です
>2重クリックもできないようにしたい
質問内容を見る限りではアクセスカウンターの作り方かと思われますが、
アクセスカウンターということでしたらJavaScriptではNGです。
クリックした回数を保持できないので、ページを表示するたびに回数が0にリセットされます。
自前のアクセスカウンターを実装したいのでしたらASPやPHPなどを使わなければいけません。

もとい、
ボタンをクリックした回数をページ上に表示するということに限定してお答えします。

>数字の部...続きを読む

QボタンをクリックでPHP文を実行

ボタンをクリックしたときのみPHP文を実行したいのですが・・・

<input type="button" onClink="<?php~?>">
でいけるかと思ったのですが、
ページ表示時に<?php~?>が実行されてしまい、うまくいきませんでした。

onClink="window.open(test.php)"
という方法以外でお願いします。

Aベストアンサー

AjaxはもともとJavaScriptの機能である非同期通信をつかったもので。Ajaxという言語があるわけではありません

Ajaxを利用するのであれば、JavaScriptのXMLHttpRequestを使って非同期通信できるような実装をしなくてはなりません
簡単にサンプルコードで書けるほど単純なものでもありません

一般的なサーバーサイドスクリプトの動作として、
ボタンを押す->サーバーへリクエストする->サーバーが処理する->クライアントに何かしらの結果を返す(出力する)です
つまり、PHP等のサーバーサイドスクリプトは、遷移させることが大前提で動作します

ですから、ボタンを押してその場でJavaScriptと同じようにPHPが動くなんてことはありえません。
ボタンを押したらサーバーにリクエストする という動作ならば可能です。

つまり
質問で言われているような
onClink="window.open(test.php)"

<form name="f1" action="test.php" method="post">
<input type="submit" name="submit" value="submit" />
</form>
等のような形になります

こういった一般的な方法だと いちいち画面が切り替わったようになってしまうのを嫌って Ajaxでコレと同じことを、画面を切り替えずに行っているだけに過ぎません

AjaxはもともとJavaScriptの機能である非同期通信をつかったもので。Ajaxという言語があるわけではありません

Ajaxを利用するのであれば、JavaScriptのXMLHttpRequestを使って非同期通信できるような実装をしなくてはなりません
簡単にサンプルコードで書けるほど単純なものでもありません

一般的なサーバーサイドスクリプトの動作として、
ボタンを押す->サーバーへリクエストする->サーバーが処理する->クライアントに何かしらの結果を返す(出力する)です
つまり、PHP等のサーバーサイドスクリプトは、...続きを読む

Qクリック数を1日ごとにカウントしたいです。

どうか教えてください。

画像やボタンなどをクリックした時に、その(トータルの累計の)数を画像やボタンの横に表示する方法については、次のように「教えて!goo」にあります。
http://oshiete.goo.ne.jp/qa/6858457.html

カウントサンプルページ
http://olo.sakura.ne.jp/test/test.html

これを累計の数ではなく、1日ごとにカウントするには、以下のコードをどのように変えたらよいでしょうか?

例えば、3月3日00:00~24:00の24時間以内にクリックされた数を表示し、3月4日00:00になったら、表示される数が「0」にもどるような場合を想定しています。

言い換えれば、(例えば)毎日00:00になったらカウント数がリフレッシュされるような表示方法です。

// カウンター読込み(表示)
function load(n){
 var uri = "count/count0" + n + ".txt?r=" + Math.floor(Math.random() * 10000);
 jQuery("#btn0" + n + " span").load(uri);
}

// 初期表示+イベント設定
for(var n=0; ++n<3;){
 load(n);
 jQuery("#btn0" + n + " p").click(
  (function(m){
   return function(){
    jQuery.post("count/post.php", {"param1":"count0" + m + ".txt"}, function(){load(m);});
   };
  })(n)
 );
}

どうか教えてください。

画像やボタンなどをクリックした時に、その(トータルの累計の)数を画像やボタンの横に表示する方法については、次のように「教えて!goo」にあります。
http://oshiete.goo.ne.jp/qa/6858457.html

カウントサンプルページ
http://olo.sakura.ne.jp/test/test.html

これを累計の数ではなく、1日ごとにカウントするには、以下のコードをどのように変えたらよいでしょうか?

例えば、3月3日00:00~24:00の24時間以内にクリックされた数を表示し、3月4日00:00になったら...続きを読む

Aベストアンサー

こんにちは。

どちらかというとJavaScript側でどうのこうのするのではなく、サーバ側の処理(post.php)で行う話になります。

また、表示だけ0にリセットするのか、記録については毎日取っておくのか、いろいろ要件が不確定な部分があります。

通常このようなシステムを作る場合、JavaScript側は取得してくるだけでサーバ側で時間等を制御し、値を返すように作ります。

もし自分が作るなら、0:00にcronやタスク等で起動し、日付ごとのデータをローテートするように作っておきます。

>これを累計の数ではなく、1日ごとにカウントするには、以下のコードをどのように変えたらよいでしょうか?

上で述べたように、JavaScriptを変更するだけでは実装は難しいです。

QPHPの関数実行

<?php
function disp(){
echo "hello world";
}
?>

<form>
<input type="text">
<input type="button" onclick="<?php disp() ?>">
</form>

といったソースを書いてみたのですが、ボタンを押してみるのですが作動しません。
どこか間違えているのでしょうか、それとも作動しないのでしょうか・・・。
当方としては、formのinputボタンを押したらPHPの関数が実行させるようにしたいのですが・・・。
どなたかご助言をお願いします。

Aベストアンサー

ウソつきました
出来ましたー

<?php

if($_REQUEST[submit] == TRUE){
function disp(){
echo "hello world";
}
}

else{
function disp(){
echo "";
}
}

?>

<form method="post" action="">
<input type="text" value="<?php disp(); ?>">
<input name="submit" type="submit"value="押せ">
</form>

QSubmit(送信ボタン)を押した回数を数える方法。

こんにちはPHP初心者なのですが、

submit.phpというフォームで好きなキャラクター名を
入力しSubmit(送信ボタン)を押して送信された
回数をカウントする事はできますでしょうか。

どのように記述をするか想像がつかず、質問させて頂きました。

カウントした数字は、count.phpに

合計 ○ 回の送信を受けました。
好きなキャラクター名(daisuki)
データを受信した年/月/日 時間(jikan)
という形で表示させたいです。HTMLの表示の仕方はしたに
記載しました。


データベースは
id
daisuki
jikan
で作成しています。

どたたかお力を貸してください。
ご教授お願い致します。

/////////////////////////////////////////////////////////////
submit.php


<html">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>フォームから受け取ったデータの回数</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
<label>好きなキャラクター名を入力。<br />
<input name="textfield" type="text" id="textfield" size="60" maxlength="60" />
</label>
<label> <br />
<br />
<input type="submit" name="button" id="button" value="送信ボタン" />
</label></form>
</body>
</html>


//////////////////////////////////////////////////////////////
count.php



<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<p>合計 5 回送信を受けました。</p>
<p></p>
<table width="100%" border="1" cellspacing="5" cellpadding="0">
<tr>
<td width="48%">好きなキャラクター名 </td>
<td width="52%">時間</td>
</tr>
<tr>
<td>アンパンマン</td>
<td>2008/10/23 12:24:2</td>
</tr>
<tr>
<td>天丼マン</td>
<td>2008/10/19 10:24:11</td>
</tr>
<tr>
<td>ドキンちゃん</td>
<td>2008/10/1 21:24:47</td>
</tr>
<tr>
<td>釜飯どん</td>
<td>2008/9/04 12:54:47</td>
</tr>
<tr>
<td>シンジくん</td>
<td>2008/5/22 12:24:30</td>
</tr>
</table>
<p><br />
</p>
</body>
</html>

こんにちはPHP初心者なのですが、

submit.phpというフォームで好きなキャラクター名を
入力しSubmit(送信ボタン)を押して送信された
回数をカウントする事はできますでしょうか。

どのように記述をするか想像がつかず、質問させて頂きました。

カウントした数字は、count.phpに

合計 ○ 回の送信を受けました。
好きなキャラクター名(daisuki)
データを受信した年/月/日 時間(jikan)
という形で表示させたいです。HTMLの表示の仕方はしたに
記載しました。


データベースは
id
daisuki
...続きを読む

Aベストアンサー

Σ(´A`*)Phpで書かれた部分が見当たらない!?
基本的にはホームページとかで使われているカウンターと同じような事だとは思うのですが・・・。

フォームから受け取ったデータをデータベースに保存するところまではいけてるのでしょうか?

いけてるようであればデータベースから各キャラクターの投票数(?)の合計を読み出し、表示すればいいと思うのですが・・・。

参考URL:http://php.thm.jp/index.php?content=counter

Qサイト内投票ボタン(いいね等)の設置方法について

facebook等に連動しないサイト内投票ボタン(いいね等)を設置したいです。
既に存在するwebページ内に、上記ボタンを設置することによりweb投票が出来るサイトを作成しています。参考になるプログラムやソース等ありますか?

対象htmlファイルが置かれているレンタルサーバでは、javascript、PHP5、perlが動作します。またDB(MySQL、PostgreSQL)が利用可能です。

Aベストアンサー

参考までに:http://w3q.jp/t/3969

参考URL:http://w3q.jp/t/3969

Qsyntax error, unexpected '}' というエラーの対処法

PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33
というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか?
・game.php
<html>
<head>
<title>数当てゲーム</title>
</head>
<body>
<h1 style="background:#cccccc">数当てゲーム</h1>
<form method="POST" action="game.php">
1~100までの数を入力してください
<input type="text" name="answer" size="5" maxlength="3" />
<input type="sbumit" value=回答" />
</form>
<hr />
<?php
session_start();
if(is_null($_SESSION['answer'])){
mt_stand(microtime()*1000000);
$_SESSION['answer']=mt_rand(1,100);
$_SESSION['game_cnt']=0;
}
if($_POST['answer']!=""){
$_SESSION['game_cnt']++;
if($_session['answer']==$_POST['answer']){
print("おめでとうございます".
$_SESSION['game_cnt']."回で正解しました!");
session_destroy();
}else{
if($_SESSION['answer']>$_POST['answer']){
print("もう少し大きいです。");
}else
print("もう少し小さいです。");
}
}
}
?>
</body>
</html>
それとこの間違えたところをなおしたあとはいつもコンピュータを再起動しないと修正したところが適用されないのですがほかに方法はないですか?基本的な質問ですいません。

PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33
というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか?
・game.php
<html>
<head>
<title>数当てゲーム</title>
</head>
<body>
<h1 style="background:#cccccc">数当てゲーム</h1>
<form method="POST" action="game.php">
1~100までの数を入力してください
<input type="text" name="answer" size="5" max...続きを読む

Aベストアンサー

print("もう少し大きいです。");
}else
print("もう少し小さいです。");
のelseの後に{がないようですが、大丈夫でしょうか?

QClick回数を数え、規定された回数でアクションを起こす方法

初めまして。お世話になります。

(Layer1中の)Click回数を数え、規定された回数でアクションを起こす方法を模索しているところなのですが、、、
なかなかそれが見つかりません。
ご存知の方、ご教授頂ける方がおられたらと思い投稿させて頂きます。

例えば以下のsetTimeoutを利用したlinkの様に、setTimeをCrick回数に代替えし、
規定値(仮に10回)に達したところで別ページへ移動させるような方法があるんでは?
なんて素人ながら思っているのですが。。

<SCRIPT type="text/javascript">
<!--
setTimeout("link()", 7000);  ←※クリック回数("link()",10);
document.write();
function link(){
location.href='./title.html';
}
-->
</SCRIPT>

Aベストアンサー

こんちくわぶぅ~!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

<title>クリックした回数で、アクション?</title>

<p id="a">5回押すと</p>
<p id="b">1回だけでも</p>

<script type="text/javascript">
//全角空白は、半角にでもなおしてね
//@cc_on @set @V = (@_jscript_version >= 5.5)
var clicker = {};

clicker.countup = (function () {
 return function (e) {
  var p = this.get(e);
  if (p) {
   p.count_buffer++;
   if (p.count_buffer == p.counter) {
    p.func.call();
    p.count_buffer = 0;
   }
  }
 };
})();


clicker.add = (function () {
 return function (eid, count, func) {
  var e = document.getElementById(eid);
  var p;
  if (! (p = this.get(e))) this.put(e, count, func);
 };
})();


clicker.get = (function () {
 return function(e) {
  return this.hasOwnProperty (e.id) ? this[e.id]: null;
 };
})();


clicker.put = (function () {
 return function (e, count, func) {
  this[e.id] = {element:e, counter:count, func:func, count_buffer:0};
  return e;
 };
})();


clicker.Listener = (function () {
return function (evt) {
  var e = evt./*@if (@V) srcElement @else@*/ target /*@end@*/;
   if (e.id && clicker.get (e)) clicker.countup(e);
};
})();


clicker.Finalizer = (function () {
return function (e) {
  document./*@if (1) detachEvent ('on' + @else@*/ removeEventListener (/*@end@*/
    'click', clicker.Listener, false);
  
  /*@if (1) detachEvent ('on' + @else@*/ removeEventListener (/*@end@*/
    'unload', clicker.Finalizer, false);
};
})();


//_______________________________

document./*@if(@V)attachEvent('on'+ @else@*/addEventListener(/*@end@*/
 'click', clicker.Listener, false)
 
/*@if (1) attachEvent ('on' + @else@*/ addEventListener (/*@end@*/
  'unload', clicker.Finalizer, false);
//_______________________________


clicker.add ('a', 5, function(){alert("5かいおした!");});
clicker.add ('b', 1, hoge);

function hoge() {
 alert("1かいおした!");
}
</script>

こんちくわぶぅ~!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

<title>クリックした回数で、アクション?</title>

<p id="a">5回押すと</p>
<p id="b">1回だけでも</p>

<script type="text/javascript">
//全角空白は、半角にでもなおしてね
//@cc_on @set @V = (@_jscript_version >= 5.5)
var clicker = {};

clicker.countup = (function () {
 return function (e) {
  var p = this.get(e);
  if (p) {
   p.count_buffer++;
   if (p.count_buffer == p.count...続きを読む

Qコードをスマートにさせたい。

jQueryとPHPを使い、画面遷移せずに回すクリックカウンター
http://1bit.mobi/20110112164331.html

現在、上記のカウンターを2つ並べています。
この01,02の数字を変数にして指定回数ループで回してコードがスッキリさせたいのですが、
うまくいきませんでした。どのように修正したらよいでしょうか?
http://olo.sakura.ne.jp/test/test.html

jQuery(document).ready(function(){
//初期時のカウンターファイル読み込み
var randnum1 = Math.floor( Math.random() * 10000 );
jQuery("#btn01 span").load("count/count01.txt?r=" + randnum1);
jQuery("#btn02 span").load("count/count02.txt?r=" + randnum1);
//カウンター追加後の読み込み関数
function func01(data){
var randnum1 = Math.floor( Math.random() * 10000 );
jQuery("#btn01 span").load("count/count01.txt?r=" + randnum1);
}
function func02(data){
var randnum1 = Math.floor( Math.random() * 10000 );
jQuery("#btn02 span").load("count/count02.txt?r=" + randnum1);
}
//カウンター+1追加処理
jQuery('#btn01 p').click(function(e){
//「param1」変数の値と書き込みファイル名の情報をもってpost.phpへ。その後、関数func01を実行
jQuery.post("count/post.php" , {"param1": 'count01.txt'} , func01);
});
jQuery('#btn02 p').click(function(e){
//「param1」変数の値と書き込みファイル名の情報をもってpost.phpへ。その後、関数func02を実行
jQuery.post("count/post.php" , {"param1": 'count02.txt'} , func02);
});
});

jQueryとPHPを使い、画面遷移せずに回すクリックカウンター
http://1bit.mobi/20110112164331.html

現在、上記のカウンターを2つ並べています。
この01,02の数字を変数にして指定回数ループで回してコードがスッキリさせたいのですが、
うまくいきませんでした。どのように修正したらよいでしょうか?
http://olo.sakura.ne.jp/test/test.html

jQuery(document).ready(function(){
//初期時のカウンターファイル読み込み
var randnum1 = Math.floor( Math.random() * 10000 );
jQuery("#btn01 span").load("coun...続きを読む

Aベストアンサー

回答がないみたいなので…

テスト環境がないので雰囲気のみですが、こんな感じ?
(対象が2個だけなので、ほとんど短くもスマートにもなっていませんが…)
全角空白は半角に

// カウンター読込み(表示)
function load(n){
 var uri = "count/count0" + n + ".txt?r=" + Math.floor(Math.random() * 10000);
 jQuery("#btn0" + n + " span").load(uri);
}

// 初期表示+イベント設定
for(var n=0; ++n<3;){
 load(n);
 jQuery("#btn0" + n + " p").click(
  (function(m){
   return function(){
    jQuery.post("count/post.php", {"param1":"count0" + m + ".txt"}, function(){load(m);});
   };
  })(n)
 );
}

*テストしていませんので、タイポなどありましたらご容赦。

回答がないみたいなので…

テスト環境がないので雰囲気のみですが、こんな感じ?
(対象が2個だけなので、ほとんど短くもスマートにもなっていませんが…)
全角空白は半角に

// カウンター読込み(表示)
function load(n){
 var uri = "count/count0" + n + ".txt?r=" + Math.floor(Math.random() * 10000);
 jQuery("#btn0" + n + " span").load(uri);
}

// 初期表示+イベント設定
for(var n=0; ++n<3;){
 load(n);
 jQuery("#btn0" + n + " p").click(
  (function(m){
   return function(){
 ...続きを読む


人気Q&Aランキング