• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:forで無限ループになっていないかどうか)

問題なし!アイテムの最新3件だけデータベースに残す方法

このQ&Aのポイント
  • PHPのforループを使って、アイテムごとに最新3件だけデータベースに残す方法を実装しました。動作確認も問題なく行われています。
  • アイテムの個数が20件の場合、アイテムごとにデータベースでのレコード数を取得し、3件より少ない場合は何もせず、3件以上の場合は古いレコードを削除します。
  • この方法では、アイテムごとに最新3件の情報を保持することができます。無限ループなどの問題はありません。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

感じからすると、テンポラリに最新3件を抽出して、itemをtruncateし、 テンポラリを戻すのが一番早くて確実だとは思います

feed12
質問者

お礼

ありがとうございました!

その他の回答 (1)

  • agunuz
  • ベストアンサー率65% (288/438)
回答No.1

item_id を forなんかで回さないで、DBからselectしてくるのはダメなんですか? $sql = "select * from (SELECT item_id, COUNT(id) AS cnt FROM item group by item_id) as item_tbl where cnt > 3"; というか、ネイティブなMySQL関数はすでに非推奨です。いい加減使うのはやめましょう。 http://www.php.net/manual/ja/mysqlinfo.api.choosing.php

関連するQ&A