ど素人から毛を生やす。<延>

Web

[MySQL]トリガーを使用して別テーブルに値を保存する

どもです。

あるDBに登録された電話番号が、ハイフンがあったりなかったりします。
これを検索するとき、ハイフンを問わず検索できるようにしたい。

SELECT * 
... 全文を読む »

【starfree限定?】WordPressの画像が表示できなくなった事件。

どもです。
暫く前から、ブログの画像が表示できなくなっていました。
簡単に調べてみても原因が特定できず、どのプラグインを無効化しても解決しなかったので放置していたのですが、さすがに対応しなければと重い腰をよっこいせ。

現象としては、ブログ上の画像が表示できない。
メディアライブラリでの表示も不可。... 全文を読む »

[JQuery]指定の列数を超過したら末尾「…」で後略する表示

どもです。
一覧を表示するとき、長い文章は冒頭だけ出力し、後ろを省略したい事例はままあります。

単純に表示制限をかけたい場合、縦横幅を明記した上で orverflow:hidden してしまえば楽勝です。... 全文を読む »

[MySQL]サブクエリの実行結果をCASEで比較したい話。(ユーザ定義変数)

どもです。
本日の要件は、PHPで書くなら、こう。

$tmp  = サブクエリを使った重い処理;
... 全文を読む »

セレクトボックスをreadonlyにする。

どもです。

selectにreadonly属性をつけても、プルダウンの選択・変更はできてしまいます。
変更できてしまうのではreadonlyじゃないじゃないか。

$("select[readonly]").each(function(){
	$(this).find('option:not(:selected)').prop('disabled', 
... 全文を読む »

配列の末尾ポインタが謎にズレた原因がforeachの参照渡しだった話。

どもです。本日のPHPの失敗談。
やりたかったのは、端的に示すとこういうもの。

$parent = array(
	
... 全文を読む »

[MySQL]○年と○日 という日付指定がしたかった話。

どもです。

MySQLにて、「現在の日付から1年」~「現在の日付から1年と1週間」という条件でのデータ取得が行いたくなりました。

で、調べてみたところ、この○年と○日、あるいは○ヵ月と○日、といった指定方法は、MySQLにはクリティカルなものが存在しないらしい。
PostgreSQL、Snowflakeなどでは可能らしいですが、いずれもMySQLではできませんでした。

ということで、不格好ですが... 全文を読む »

UTC->JST 日時変換(TとかZとかついてる日時のやつ)

どもです。
外部と通信した際、こんな感じの日時データが送られてきました。

2022-03-31T06:30:21.080Z

これはISO8601という日時のフォーマットによるものです。
Tより前が年月日、後が時分秒を指し、... 全文を読む »

wkhtmltopdfで全角1字・半角0.5字で表示できなかったときの話。

どもです。
wkhtmltopdfで大苦戦したので備忘。

出力する文字数の制限がとても厳しいPDFの作成。
全角を1字、半角を0.5字とカウントし、○字×○行ピッタリに仕上げなければなりません。

こういう場合はMSゴシック(ド安定の印刷用フォント)やIPAゴシック(機種依存文字でちょっとズレる)などの等幅フォントを指定してやれば解決です。... 全文を読む »

[MySQL]INSERT ... ON DUPLICATE KEY UPDATE 構文を SELECT UPDATE ... GROUP BY で使う

どもです。

以前、MySQLで「キーが存在していたらUPDATE、していなかったらINSERT」を行う関数として「INSERT … ON ... 全文を読む »

[MySQL]該当レコード群の最新1件のみをUPDATE

どもです。毎度の備忘的記事。

WHERE指定した条件でUPDATEを行いたいけれど、更新対象はその条件の最新1レコードのみにしたい。
という場合、連番のIDや更新日時など、どのレコードが最新なのか判断基準になるカラムがあれば、簡単に可能という話。

UPDATE [対象テーブル] 
... 全文を読む »

入力・選択した内容を同一フォーム内の別inputに転写する。

どもです。
とてもシンプルな話なのですが、地味な汎用性に感動を覚えたので備忘的メモ。

onblur = "this.form.転写先inputのname.value 
... 全文を読む »

文字列をUTF-8に変換、UTF-8BOMだったらBOMを取る。

某所からDLしたTSVファイルがさあ!
SJISだったりUTF-8だったりUTF-8BOMだったりころっころ文字セット変えてくるのよ! 断りなく!!

ということで、文字セットを判別してUTF-8に変換、UTF-8BOMだったらBOMを取るだけの関数備忘録。

function 
... 全文を読む »

長大な文字列でpreg_match()したらマッチするはずなのにマッチしない場合、backtrack_limitに抵触している可能性がある話。

どもです。

件名の通り、数MBの文字列をpreg_match()するというトンデモ行為をせにゃならず。
その結果、マッチするはずなのに「0」をreturnされてしまいました。

この原因が「バックトラックリミット」でした。という話です。

バックトラックリミットとは?

... 全文を読む »

[MySQL]頭文字で GROUP BY して COUNT

どもです。
やりたかったことは件名の通りなのですが、ググってもなかなか出てこなかったので備忘録的に記録しておくことにします。

SELECT SUBSTRING([対象カラム], 1, 
... 全文を読む »

[PHP]受信したメールがMIMEエンコードされている場合。

前回、メール件名の文字列がMIMEエンコードされていた場合の対応を考えたわけですが、じゃあメール本文についてはどうするのが最適解よ??となるわけです。

MIMEヘッダの文字列には「=?utf-8?Q?」のように文字セットやエンコード方式が含まれているため正確に判定してデコードできますが、通常はそういった情報が含まれないので…、取り敢えず文字列から検出してみましょうか。

var_dump(mb_detect_encoding('=3D=E3=81=A9=E7=B4=A0=E4=BA=BA'));
	//string(5) 
... 全文を読む »

[PHP]受信したメールの件名が文字化けしている場合。

どもです。
PHPにて、自身のサーバからメールを取り込んでなんやかんやする旧いシステムの改修を行っていました。

すると、届いたメールの本文が文字化けしておりました。

ど4Rotoから毛を生やす(*´▽`*)
... 全文を読む »

条件によって条件式を変えたかった話。

どもです。

条件によって条件式が変わるが、trueのときに通る処理は同じものとしたい。

無名関数を使えばできるのかな?
と思ったが、できなかった。

//失敗例
... 全文を読む »

ifで分岐させる二つの処理が9割共通する場合

どもです。

ifで分岐させる二つの処理の9割が共通する、ということであれば、

if(☆☆){
	//共通処理
	//☆☆専用の処理
... 全文を読む »

PDOで大量のデータをSELECTしたらメモリリークになったので、非バッファモードで実行する。

どもです。

PHP7時代のMySQL利用といえばPDOですが、PDOを用いて大量のデータを取得しようとしたところ、メモリリークが発生しました。

PHP Fatal error:
... 全文を読む »
1 2 3 4 5 6 13