snapが怪しい…

イメージ
メインマシンの Ubuntu26.04が固まる 通常のUpdateを行なって、再起動が必要というので再起動を実施。 gdmのログイン画面は表示される ユーザ選択 パスワード入力 デスクトップに切り替わる途中で固まる マウスは動作せず キーボードは反応する あれ?タイミングの問題かな?と思い再度実施するが、改善はしない。 どうやら最後のUpdateが問題っぽい。 ということで、GRUBメニューからSafe Mode(Netoworkあり+root)で起動する 記憶では、Linux-Kernel関係が7.0.0-29に上がっていた表示を見ているので、前の7.0.0-28に戻す。 改善せず ちなみにメインマシンの環境は Ubuntu26.04(64GB) + GeForce3060(8GB) + デュアルディスプレイ SSD(1TB+2TB) , HDD(4TB)という構成 一応、sshでの接続はできるので、MacBookからリモートでこの状況のログを確認しながら作業する。 ログを渡してGeminiに確認するが、nvidiaのドライバと、kernel7.0.0-29の問題と指摘される。 まぁ過去にもアップデート後にドライバ入れ直すことは多々あったので、またかぁ…という感じ。 そこで、open版に入れ直したり、バージョン変えたり…。 どれもだめ。 結局3時間ほど粘ったが改善せず。

DataTablesが動かない理由

結構面倒な処理

PHPでデータをDBから取得、表示する。この時ページネーションを行うのは、定番だけど…。
よく出てくる割には、案外面倒な処理。

Bootstrapだと、表示用のCSSは用意されているけれど、ロジックは無い。
フレームワークだと、ライブラリで持っていることもあるけれど、サクッと動く感じではない。

で、DataTablesを利用するという流れになるわけなんだけど…。
jQueryのプラグインで、tableタグをtheadとtbodyに分けて記述し、プラグインを呼び出すだけで、最低限の表の処理(ソートや絞り込み)を行ってくれる。

まあ、数百行程度なら、充分な速度で動いてくれる。

フレームワークで利用してみる

次のプロジェクトのために、色々とテストを行っている。
今回のDataTablesも、事前のテストの一環。

さて、フレームワークを使って、DBからデータを吸い出し、同様にDataTablesを利用するようにcodeを書きなおしてみる。

ところが、表示してみても、何も反応してくれない。(全く動作していない感じ)

項目表示の部分に△▽が表示されるはずなんだけど、これが出てこない。
もちろん、検索窓も、表示件数の処理も…。

なぜだ〜。

ということで、基本に立ち返りサンプルコードでテスト。
うむ、問題なく動作している。

と、ここまで作業して気づいたことがある。

テーブルを出力するページは、ひな形classを作っておいて、コンストラクタでオブジェクト生成している。ページごとに異なる部分だけ、オーバーライドするようにしているのだけれど…

DBからデータを引っ張ってきて表示する時に、1列余分に追加して表示していた。
(表示・編集・削除のアイコンを付加していた)

この時、最上部の項目を出力していなかった。<th></th>が1つ不足している状態。
図のように「編集」という文字を出力するように付加してみたところ、DataTablesがちゃんと動作してくれた。

当たり前といえば…当たり前。
データをソートさせる列の列名が存在していないので、エラーを起こしているのだった。

う〜む、こんなところで躓くとは、疲れているのかな〜。

ちなみに、「多機能テーブルDataTablesを使う」を参考に、表示部分を日本語化しています。
個人で使用するのには問題ないけれど、お客さんが使うことを考えると、こういった細かいチェックは必要になるんでげす。


コメント

このブログの人気の投稿

MEGAにも弱点があった?

Ubuntu24.04 でGUIが死んだ

VirtualBoxでUSBを使う方法が分かった!