Info

2017年11月18日 (土)
3人が見てるかも
Menu
Top
PHP+MySQL
Downloads
BBS
Links
History
2006
2005
2004
2003
2002
2001
レンタルサーバ比較
RSS Viewer (実験)
E-Mail me E-Mail icon
PHP WebRing
@PHP.ring
各種書籍

PHPプロ!マガジン 2007年夏号表紙
PHPプロ! マガジン
2007年夏号 Vol.4


PHP関連書籍一覧
DB関連書籍一覧
3D関連・その他書籍


MySQLクックブック〈VOLUME1〉
MySQLクックブック〈VOLUME1〉


PHP+MySQL - カウンター1

6. 関数3:値を更新する

 次は、3つ目の関数の説明です。この関数はデータベースに保存されているカウンターの値を更新する関数で、名前は scdb_update() です。この関数のスクリプトは以下の通りです。

//----------------------------------------------------------------------
// 値を更新する
//
// int scdb_update( int $cid, string $name, string [$chkstr] )
//
// 引き数  $cid     LinkID
//         $name    カウンターの名前
//         $chkstr  検査用文字列
//
// 戻り値  更新後の値
//----------------------------------------------------------------------
  1. function scdb_update( $cid, $name, $chkstr=NULL )
  2. {
  3. global $scdb_table;
  4. global $scdbcn_name;
  5. global $scdbcn_count;
  6. global $scdbcn_lastip;
  7. // 値を更新
  8. if( is_null( $chkstr ) )
  9. $sql = "UPDATE $scdb_table SET $scdbcn_count=$scdbcn_count+1 "
  10. ."WHERE $scdbcn_name='$name'";
  11. else
  12. $sql = "UPDATE $scdb_table SET $scdbcn_count=$scdbcn_count+1, "
  13. ."$scdbcn_lastip='$chkstr' WHERE $scdbcn_name='$name' "
  14. ."AND $scdbcn_lastip<>'$chkstr'";
  15. $result = mysql_query( $sql, $cid )
  16. or die( "Failed to query of [$sql]" );
  17. // 結果を得る
  18. $sql = "SELECT $scdbcn_count FROM $scdb_table WHERE $scdbcn_name='$name'";
  19. $result = mysql_query( $sql, $cid )
  20. or die( "Failed to query of [$sql]" );
  21. $row = mysql_fetch_assoc( $result );
  22. return $row[$scdbcn_count];
  23. }

 引き数 $cid は、scdb_open() で開いたときに得られたリンクIDです。
 引き数 $name は、カウンターの名前です。
 引き数 $chkstr は、同ホスト検査用の文字列です。これは省略可能で、省略した場合は NULL になります。これを省略もしくは NULL を指定した場合は、同ホストかどうかの検査を省略します。つまり、無条件でカウントされます。

 9〜18行目で、データベース上の値を更新します。$chkstr が NULL かどうかで、問い合わせる SQL 文が異なります。

 21〜24行目で、更新された値をデータベースから取得します。

 この関数の戻り値は、更新されたカウンターの値です。もしデータベースに123という値が記録されてた場合は、124が返ります。ただし、同ホスト検査で同ホストと判断された場合は123のままです。

[Page: 1 2 3 4 5 (6) 7 ] →次

広告

ServerQueen
月々525円〜
RSS Feeds
RSS News Feed 全ニュース
RSS News Feed DA実験室関連
RSS News Feed PHP/DB関連
[Valid RSS]
RSS feed meter for http://www.darkangel.jp/

check out my neighbors in meatspace

RDF Resource Description Framework Developer Icon