2010年10月07日
<?
header( "Content-Type: text/html; Charset=euc-jp" );
header( "pragma: no-cache" );
header( "Expires: Wed, 31 May 2000 14:59:58 GMT" );
header( "Cache-control: no-cache" );
// 日本語設定
mb_language( "ja" );
// 内部エンコード
mb_internal_encoding("UTF-8");
// 接続オブジェクト
$cn = new COM( "ADODB.Connection" );
// クライアント側カーソル
$cn->CursorLocation = 3;
// レコードセットオブジェクト
$rs = new COM( "ADODB.Recordset" );
// 接続文字列作成
$db_path = realpath(mb_convert_encoding( "./販売管理C.mdb", "SHIFT_JIS", "EUC-JP" ));
$ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;";
$ConnectionString .= "Data Source=$db_path;";
// 接続
$cn->Open( $ConnectionString );
$query = "select * from 社員マスタ";
$query = mb_convert_encoding( $query, "SHIFT_JIS", "EUC-JP" );
// レコードセット取得
$rs->Open( $query, $cn );
while( !$rs->EOF ) {
// レコードセットを PHP で使いやすいように変換
$ret = ms_convert_fetch_array( $rs, "EUC-JP", "SHIFT_JIS" );
print "{$ret['氏名']},{$ret['フリガナ']},{$ret['生年月日']},{$ret['給与']}";
print "<br>";
$query = "update 社員マスタ set 生年月日 = null where 社員コード = '{$ret['社員コード']}'";
$query = mb_convert_encoding( $query, "SHIFT_JIS", "EUC-JP" );
// 行を返さない SQL の実行
$cn->Execute( $query );
$rs->MoveNext();
}
// レコードセットを閉じる
$rs->Close();
// 接続解除
@$cn->Close();
// ***********************************************
// レコードセット内のデータのキャラクタセットを
// 変換して、インデックス配列と連想配列作成
// ***********************************************
function ms_convert_fetch_array( &$rs, $to_encoding , $from_encoding ) {
$ret = array();
for( $i = 0; $i < $rs->Fields->count; $i++ ) {
// 値変換(インデックス配列)
$ret[$i] = mb_convert_encoding(
$rs->Fields[$i]->value."",
$to_encoding,
$from_encoding
);
// 列名変換
$k = mb_convert_encoding(
$rs->Fields[$i]->name,
$to_encoding,
$from_encoding
);
// 連想配列作成
$ret[$k] = $ret[$i];
}
return $ret;
}
?>
posted by
at 2010-10-07 12:20
|
PHP+COM
|

|
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。
Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。
また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。
※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです
対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。
※ エキスパートモードで表示しています
アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります
<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>
<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>
<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します