チェックリストシステムを作成しようとしています。収集するアイテムのリスト。ユーザーは自分のプロファイルにリストを追加できるようになり、アイテムを収集するときに、リスト内のアイテムのチェックボックスをオンにして[送信]をクリックすると、チェックされたアイテムに収集済みのマークが付けられます。私はそれをコーディングして正常に動作させていますが、データベースに対して非常に多くのクエリを実行します。
私は5つのテーブルを持っています。ユーザーテーブル(登録ユーザーのユーザー名、id..etc)、リストテーブル(リスト名、説明、idを含む)、リストアイテムテーブル(個々のアイテムを含む。id、title、listID(リストを参照するため)に属する))。userslistテーブル(ユーザーがプロファイルに追加したリストの場合。userIDおよびlistID)およびcollecteditemsテーブル(これには、ユーザーが収集済みとしてチェックボックスをオンにしたリストアイテムが含まれます。listItemsID、UserID)
問題は、mylists.phpページを表示すると、userslistテーブルにクエリが実行され、ユーザーが追加したリストのすべてのIDが返されることです。次に、リストのIDを取得したら、リストテーブルにクエリを実行して、リストの名前を確認します(これは、10個の異なるリストを追加した場合、リストテーブルに10個のクエリを実行する必要があることを意味します)。リスト名列をuserslistテーブルに追加した場合、ページに対して1つのクエリを実行するだけで済み、それはuserslistsテーブルに対して行われ、その1つのクエリでページを作成できます。