この時間と手間を省くために、この方法を使用してアンケートを保存しないでください。回答で指摘されているように、これは信じられないほど貧弱なプログラミングです (子猫にとって危険なことは言うまでもありません)。
この質問がやや複雑な場合はご容赦ください。私は、ユーザーが調査を作成し、ユーザーが受けられるように投稿できるプログラムの構築に取り組んでいます。
簡単に言えば、次のようなテーブルがあります。
**survey_info**
id bigint(20) Auto_increment Primary Key
title varchar(255)
category bigint(20)
active tinyint(1)
length int(11)
redirect text
現在、調査が作成されると、その調査の入力を保持するためにカスタム構築された新しいテーブルも作成されます。これらの新しいテーブルに使用している命名スキーマは、survey_{survey_id} です。
私がやりたいことは、調査のリストで、調査への回答数をその右側に置くことです。
さて、私の実際の質問はこれです。利用可能な調査のリストを収集するために使用しているのと同じクエリ内で、コレクション テーブル (survey_id) の行数を取得する方法はありますか? 調査ごとに 2 番目のクエリを使用して行数を取得するだけでこれを簡単に実行できることはわかっていますが、ユーザーの調査の数が多いほど、このプロセスに時間がかかるのではないかと心配しています。それで、次のようなことをする方法はありますか:
SELECT s.id AS id, s.title AS title, c.title AS ctitle, s.active AS active, s.length AS length, s.redirect AS redirect, n.num FROM survey_info s, survey_category c, (SELECT COUNT(*) AS num FROM survey_s.id) n WHERE s.category = c.id;
s.idを他のテーブルの名前の一部として使用する方法がわかりません(または、それが可能かどうかさえわかりません)助け、または正しい方向へのポイントさえいただければ幸いです!