この解決策を持つことは最善の考えではないようです。リンクは常にこの形式になりますか? 追加のパラメーター (つまり、グループ ID) が必要ないという確信がありますか? あなたがやろうとしているのは、実際には同じデータを 2 つの異なる形式 (1 つは id で、もう 1 つは一意の href) で保存することです。
これは、データの不一致などの他の問題につながります (つまり、バグのあるソフトウェアが id=123 で行を作成し、'products.php?id=666' としてリンクする可能性があります。データの一貫性を損なう可能性のあるレコードで呼び出されている更新ステートメント。
一般的に言えば、ID に true のソースが 1 つあることを確認し、常にこの true のソースを参照して、この ID で中継する他のデータを動的に生成します。したがって、あなたの例では、データベースから再試行された ID に基づいてリンクを動的に生成する関数を用意することをお勧めします。つまり、さまざまなフレームワークにそれを行うためのメソッドが組み込まれているため (Groovy、Spring、PHP フレームワークもあるに違いありません)、リンクを生成する独自の単純な関数を作成することもできます (つまり、この疑似コードのように:
getProductLink (int id) { printf ("product.php?id=%d",id) ;}
このようにすると、URL構造を変更することにした場合、データベース内のデータを変更する必要はありません(そして、あなたはそうします;))。PS: 本当にデータベースからリストを取得したい場合は、提供された ID に基づいて動的にリンクを生成する mysql 関数を作成してください。
将来あなたに多くの苦痛を与えるために、すべての善意を持って