灯油の給油をしておいた

新型コロナの影響で石油関連の価格が下がっていますが、徐々に値上げに転じてきたので、灯油を給油することにしました。自動車を運転していると50円以下の看板も見かけます。
それで、ホームセンタームサシに行ったら1リットル55円と思ったより安くなかったので、カナショク松任店に行くと48円(プリペイドカード価格)でした。ちなみにコストコは46円でした。他のお店は70円程度で売られているところもあります。
それでカナショク松任店で購入しました。18リットルノタンク3缶給油しました。灯油にもスロット値引きが1円あったので実質47円でした。
清算後に、次回給油時に使える1リットル当たり5円引きのクーポンも発行されました。
場合によっては42円で給油できることになります。

csv-put.csvファイルをデータベース(MySQ)に

2020年5月30日

現在30日分の安い宿一覧表示について、

1.ローカルのxampp上で楽天APIのデータをcsvファイルとしてハードディスクに保存2.coreserver上のMySQLにアクセスし、テーブルyasuiyadoを選択し先ほどエクスポートしたcsvファイルをインポートする。
フォーマット特有のオプションUpdate data when duplicate keys found on import (add ON DUPLICATE KEY UPDATE)にチェックを入れてインポート)

という作業について、1の部分はPHPで自動でやっているのですが、2の部分は手動でやっているのです。
2の部分もPHPで自動で動作できれば、凄く楽になります。
なんとかならないか調べてみました。

xampp上のPHPからxampp上にあるcsvファイルをcoreserver上にアップロードする事は、なんとかできました。
あとはアップロードしたcsv-put.csvの内容を、サーバーのデータベース(MySQ)に登録することに成功すれば、データベースの自動更新が完成します。

2020年6月7日

結構、苦戦しています。
PHPはバージョンによって仕様が変わるので、過去の情報が役に立たない場合が多いのです。
参考書も、現在のPHPのバージョンにものでないと正常に動作しないし、ネットの情報も、ほとんど役立ちません。

coreserverのデータベースに接続するのは、データベース名がkimassi_yado、ユーザー名がkimassi_yadoなので

<?php
try {
$dsn=’mysql:host=127.0.0.1;dbname=kimassi_yado’;
$db = new PDO($dsn, ‘kimassi_yado’, ‘パスワード’);
} catch (PDOException $e) {
echo ‘DB接続エラー: ‘ . $e->getMessage();
}
?>

csv-put2.csvを開いてデータを配列に変換するのは

<?php
$row = 1;
// ファイルが存在しているかチェックする
if (($handle = fopen(“csv-put2.csv”, “r”)) !== FALSE) {
// 1行ずつfgetcsv()関数を使って読み込む
while (($data = fgetcsv($handle))) {
$row++;

//ここに処理の内容を記入
}
}
fclose($handle);
?>

でできます。テーブルのカラムはid,no,date,check,hotelNo,yadomeiで、配列は

idの内容が$data[0]
noの内容が$data[1]
dateの内容が$data[2]
checkの内容が$data[3]
hotelNoの内容が$data[4]
yadomeiの内容が$data[5]
ryoukinの内容が$data[6]

であることは確認できています。それをデータベースに登録保存するところがうまくいきません。
テーブル名がyasuiyadoなので

$sql =’INSERT INTO yasuiyado (no,date,check,hotelNo,yadomei,ryoukin) VALUES (“$data[1]”,”$data[2]”,”$data[3]”,”$data[4]”,”$data[5]”,”$data[6]”) ‘;
$stmt = $pdo->prepare($sql);
$stmt->execute();

上記で正常に動作するはずなんですが、一行も保存されません。

$sql =”UPDATE yasuiyado SET no=$date[1],date=$date[2],check=$date[3],hotelNo=$date[4],yadomei=$date[5],ryoukin=$date[6]) WHERE id=$date[0]”;

でも一行も保存されません。

2020年6月8日

正常に動作しない原因は、coreserverのデータベースにデータを保存する場合の$sql の構文の問題のようです。

$sql =”INSERT INTO `yasuiyado` (`id`, `no`, `date`, `check`, `hotelNo`, `yadomei`, `ryoukin`) VALUES (‘$data[0]’, ‘$data[1]’, ‘$data[2]’, ‘$data[3]’, ‘$data[4]’, ‘$data[5]’, ‘$data[6]’)”;
$stmt = $db->prepare($sql);
$stmt->execute();

で動作するようになりました。” と ` と ‘ の使い分けが重要のようです。
ちなみにsqlの書式はサーバーによって違うようです。
$sqlは、実際に手動でデータを1件登録してみて、その時のsqlを表示させて調べることができました。

<?php
try {
$dsn=’mysql:host=127.0.0.1;dbname=kimassi_yado’;
$db = new PDO($dsn, ‘kimassi_yado’, ‘パスワード’);
} catch (PDOException $e) {
echo ‘DB接続エラー: ‘ . $e->getMessage();
}
?>
<?php
$row = 1;
// ファイルが存在しているかチェックする
if (($handle = fopen(“csv-put2.csv”, “r”)) !== FALSE) {
// 1行ずつfgetcsv()関数を使って読み込む
while (($data = fgetcsv($handle))) {
$row++;

$sql =”INSERT INTO `yasuiyado` (`id`, `no`, `date`, `check`, `hotelNo`, `yadomei`, `ryoukin`) VALUES (‘$data[0]’, ‘$data[1]’, ‘$data[2]’, ‘$data[3]’, ‘$data[4]’, ‘$data[5]’, ‘$data[6]’)”;
$stmt = $db->prepare($sql);
$stmt->execute();
}
}fclose($handle);
?>

全部まとめて動作させたら、思った通りにいかなくて一瞬焦りましたが、PHPファイルをUnicode(UTF-8)で保存するのを忘れていました。思わぬところで落とし穴があるものです。
ファイルに日本語が入っていないと、エディターで読み込むときにシフトJISで読み込みます。その状態で編集して保存すると、シフトJISで保存されてエラーになってしまうのです。
どこかに日本語を入れておいてUnicode(UTF-8)で保存すれば次回からは自動でUnicode(UTF-8)になるので便利です。

そういう訳で無事、自動化が出来ました。
パソコンは、この処理専用のマシンにしたので、パソコンの電源を入れるだけで自動にデータベースのデータを更新できるようになりました。

2020年6月14日

更新が正常に行われていない事に気づきました。
やっぱり更新はINSERT INTOでは駄目なようです。最初からINSERT INTOで動作するのが不思議だったのです。
UPDATEが正しいのだと思います。3つだけ更新する場合のUPDATEのsqlは

UPDATE `yasuiyado` SET `hotelNo` = ‘1607242’, `yadomei` = ‘Blue Hour Kanazawa2’, `ryoukin` = ‘2400’ WHERE `yasuiyado`.`id` = 1

でした。ちなみにsqlの書式はサーバーによって違うようです。

$sql =”UPDATE `yasuiyado` SET `date` = ‘$data[2]’,`check` = ‘$data[3]’, `hotelNo` = ‘$data[4]’,`yadomei` = ‘$data[5]’, `ryoukin` = ‘$data[6]’ WHERE `yasuiyado`.`id` = $data[0]” ;

で正常に動作しました。

久しぶりに卓球をした

今日、久しぶりに卓球をしました。
何十年ぶりです。
若宮公園体育館 卓球場に12:30頃に行ったのですが、誰もいなくて貸し切り状態でした。
コロナの影響で、住所や連絡先を記入させられて、非接触で体温の計測もありました。手の消毒もありました。白山市民は50円で、市外の人は100円です。
更衣室はありますが、鍵付きのロッカーは無いので、着替えの物は卓球場に持っていかないといけません。
卓球台は5台ありました。
久しぶりだったので、最初は散々たるのもでした。球の材質も変わっていて、感覚も少し違うような感じです。
それでも、少しづつ、感覚を取り戻して、ラリーができるようになりました。
でも、まだまだドヘタでした。
13:00頃から、同好会と思われる団体がきて、残りの4台を独占的に使用し始めました。
ネットも自前のものを取り付けて使っていました。
自分たちが、1台を先に使っていなかったら、5台全部を独占的に使用してたんじゃないかなと思います。
若宮公園体育館 卓球場は予約すれば、貸し切りもできるのですが、予約もせずに、ああいった形で独占して使用すると、それ以外の人が後で来ると、使えないという事もあるんじゃないかなと思います。
あれだけ多くの卓球台を独占的に使うのであれば、予約貸し切りで使ってほしいなあと思いました。予約貸し切りなら前もって使えないと一般の人も判るのです。
団体貸し切りにすると料金が時間制になるので高くなるから、避けているのかもしれません。
1時間くらいして帰りました。汗をたくさんかきました。

xampp上のcsvファイルをcoreserver上にアップロード

2020年5月24日

現在30日分の安い宿一覧表示について、

1.ローカルのxampp上で楽天APIのデータをcsvファイルとしてハードディスクに保存

2.coreserver上のMySQLにアクセスし、テーブルyasuiyadoを選択し先ほどエクスポートしたcsvファイルをインポートする。
フォーマット特有のオプションUpdate data when duplicate keys found on import (add ON DUPLICATE KEY UPDATE)にチェックを入れてインポート)

という作業をしているのですが、1の部分はPHPで自動でやっているのですが、2の部分は手動でやっているのです。
2の部分もPHPで自動で動作できれば、凄く楽になります。
なんとかならないか調べてみようと思います。

最初に躓いたのは、coreserver上のMySQLにcoreserver以外からアクセスする事です。MySQLへのアドレスが判らないのです。
coreserverからだとmysql:host=127.0.0.1;dbname=kimassi_yadoでアクセスできるのですけど。

2020年5月25日

coreserverの運営会社に問い合わせしました。

coreserverでは外部からデータベースへの接続は出来ない仕様となっておりますため、希望の
動作は出来ないという返答がありました。

それで、1つ思いつきました。
coreserver上のMySQLに、csvファイルをインポートさせるのは、coreserver上のPHPファイルにさせることにして、xampp上からcoreserver上のPHPファイルを動作させれば、思い通りの処理を自動で行えるのではないかと
問題は、coreserver上のPHPファイルでパソコン上のcsvファイルをアップロードさせることができるかです。ネット上のPHPがパソコンのデータを操作できるとなるとセキュリティ上問題があるかので出来ないかもしれません。。
xampp上のPHPからxampp上にあるcsvファイルをcoreserver上にアップロードして、coreserver上のPHPファイルを自動で動作させて、coreserver上のMySQLに、coreserver上のcsvファイルをインポートさせるというのは可能かもしれません。

2020年5月30日

xampp上のPHPからxampp上にあるcsvファイルをcoreserver上にアップロードする方法が判りました。困った時のYAHOO知恵袋でアドバイスいただいたのです。

Xampp上の下記のPHPファイルで

<!DOCTYPE html>
<html lang=”ja”>
<head>
<meta charset=”UTF-8″>
<title></title>
</head>
<body onload=”document.all.jikkou.click();”>
<form action=”https://kimassi.net/insert.php” method=”post”>
<input type=”hidden” name=”up_file” value=”<?= urlencode(file_get_contents(‘../../../data/output/csv-put.csv’)) ?>”>
<input type=”submit” value=”up” name=”jikkou”>
</form>
</body>
</html>

サーバー上のinsert.phpを呼び出して、下記のinsert.phpでサーバー上にcsv-put.csvを書き込めました。

<!DOCTYPE html>
<html lang=”ja”>
<head>
<meta charset=”UTF-8″>
<title></title>
</head>
<body>
<?php
$files = “csv-put.csv”;
file_put_contents($files,urldecode($_POST[‘up_file’] ) );
?>
</body>
</html>

あとはアップロードしたcsv-put.csvの内容を、サーバーのデータベース(MySQ)に登録することに成功すれば、データベースの自動更新が完成します。

2020年6月11日

全部まとめて動作させたら、思った通りにいかなくて一瞬焦りましたが、PHPファイルをUnicode(UTF-8)で保存するのを忘れていました。思わぬところで落とし穴があるものです。
ファイルに日本語が入っていないと、エディターで読み込むときにシフトJISで読み込みます。その状態で編集して保存すると、シフトJISで保存されてエラーになってしまうのです。
どこかに日本語を入れておいてUnicode(UTF-8)で保存すれば次回からは自動でUnicode(UTF-8)になるので便利です。

新型コロナの特別定額給付金など

2020年5月22日

特別定額給付金の申請書類が郵送されてきました。さっそく記入して送付しました。
インターネット申請は、結構敷居が高いという話でしたが、郵送での申請は、とても簡単でした。
通帳のコピーと身分証明書のコピーを添付して、捺印さえ忘れなければ、間違えようがない簡単な申請でした。
家族全員の特別定額給付金が全て世帯主の口座に振り込まれるようです。そのほうが経費削減になるからだと思うけど、ちょっと納得できない面もあるかな。
世帯主がパチンコ依存症で、全員の特別定額給付金がパチンコにつぎ込まれたりすることが無ければ良いなあと思います。

たまたま税理士が来ていて、持続化給付金についての説明が受けました。
2020年1月以降12月末までの月で、売上高が前年度の同月比で50%以上減少している月があって、その月の売上高×12の額が、前年度の売上高より少なければ、法人の場合は最高200万円、個人事業主の場合は最高100万円まで差額が給付されるということでした。
俊の会社の場合、毎月の売り上げに、かなりのばらつきがあるので、売上高が前年度の同月比で50%以上減少している月もあり、新型コロナの影響もある業種なので、給付されるのではと言っていました。
持続化給付金は雑収入扱いになるとのことですが、繰越欠損金もあるので税金はかからないということでした。
締め切りは令和3年1月15日までです。

ちなみに石川県がやっているマスク購入券は値段が高いので使いませんでした。飛沫が外に飛んで他の人に感染させないのがマスクの主な用途なので、1日で捨てなくても大丈夫だと思うんですよね。不織布のマスクが無くなったら、去年買った布マスクを使おうかなと思います。
アベノマスクは届いていませんが、ちゃんと使えるマスクだったら、世間が言うほど無駄な事では無いと思います。

税理士が帰った後、税理士から電話があって、税理士事務所でコロナが発生したので、税理士が使った机などの消毒をしておいて欲しいということでした。
急いで、オスバン液で消毒しました。

2020年5月24日

5月22日税理士事務所のコロナ発生の分は未だに石川県の感染発生数にカウントされていないですねえ。
ひょっとして、5月22日の津幡町の10代男性の家族という事だったのかなあ?

2020年6月1日

持続化給付金の申請手続きをしました。税理士から必要な書類に付箋を付けておいてもらったので、すんなりと申請できました。
デジカメで書類を撮影して送る場合、文字を綺麗に撮影するのは、ちょっと大変かもしれません。
かなり高性能な一眼レフデジカメより、暗いところでの接写に強い、Canon IXY31Sのほうが断然きれいに映りました。

特別定額給付金は、まだ入金していません。

2020年6月4日

特別定額給付金の振り込みが明日されますという通知が届きました。
さっそく、明日おろして家族に配ります。

持続化給付金給付の決定通知書が届いた個人事業者には20万円、法人の会社には50万円、石川県から県経営持続支援金が給付されるそうです。

2020年6月5日

10:00にネットで口座の残金見たら特別定額給付金分が増えていたので、さっそくATMで引き落とししてきました。ATMが混雑しているのではないかと心配したのですが、誰もいなくて安心しました。
さっそく家族に配りました。

アベノマスクも届きました。宛名とかも記載されていなくて、透明な袋に入ったまま届けられました。
友人が、酸っぱい匂いがして洗ってから使ったと言っていましたが、そんなに匂いは気になりませんでした。実際に使ったわけではないけど、小さいとは思うけど、それほど酷評されるほど酷い代物ではないように感じました。
不織布のマスクが無くなったら使おうと思います。

2020年6月8日

持続化給付金の入金がありました。持続化給付金給付の決定通知書が来ないのに突然入金されていたので、びっくりしました。

2020年6月12日

持続化給付金の振り込みのお知らせが届きました。
これが、持続化給付金給付の決定通知書になるようです。
石川県経営持続支援金50万円については、県議会予算成立後(6月下旬)に申請窓口等の詳細がホームページ等で公表されるようです。

2020年7月2日

石川県経営持続支援金50万円の申請が6月30日に始まったので、石川県経営持続支援金の申請書類をダウンロードして、必要事項を記入し、持続化給付金給付の決定通知書のコピーと持続化給付金給付が入金した通帳のコピー(口座の振込先がわかるページと入金が記入されているページ)を添えて、簡易書留で送りました。

珍しく、捺印は不要でした。但し、代表者の署名は必要でした。

2020年8月1日

石川県経営持続支援金の交付決定通知書が届きました。
特別定額給付金給付の決定がされているかが唯一の条件なのに審査にずいぶん時間がかかるものだと感じました。