非常に長く、おそらく単純な質問ですが、私の脳は揚げられており、現在この論理を処理できません。
残念ながら、私が使用しなければならないデータベースがあります。ユーザー #1 は、会社、コンポーネント、および最後に回答する質問に関する情報を提供します。次に、このデータをデータベースにダンプします。それらを 1 つのテーブルまたは適切に定義されたリレーショナル テーブルに格納するのではなく、ほとんどまたはまったく関係のない別々のテーブルに格納します。
問題は、これらの質問を取得する方法です
したがって、User#2 はこれらの質問に答える必要があります。ユーザー #2 は、ID を照会する必要がある会社名を提供し (自動インクリメントされ、コンポーネントと質問にのみ関連する)、ID を再度照会する必要があるコンポーネントの名前を提供します (自動インクリメントされ、質問との関係のみ)。次に、指定されたコンポーネントと会社 ID を使用してすべての質問を照会する必要があります (明らかに、それが唯一の明確な一意の識別子であるため)。それで、自殺する準備はできましたか?すごい!コードを見てみましょう!
!!!<-- ループが終了した後に範囲外になるという行に注意してください
<?php
require_once 'connect.php';
//$company_name = $_POST['company_name'];
$company_name = 'Some Company';
$company_id_query = "SELECT * FROM company_mast WHERE company_name = '".$company_name."'";
if ($query_run = mysql_query($company_id_query)) {
if (mysql_num_rows($query_run) == NULL) {
echo ('No results found');
} else {
while ($query_row = mysql_fetch_assoc($query_run)) {
$company_id = $query_row['id'];
echo ('company id: '.$company_id); // !!!<-- goes out of scope after the loop is finished
}
}
}
$component_name = 'Some Component';
$component_id_query = "SELECT * FROM component_mast WHERE component_name = '".$component_name."' AND company_id = '".$company_id."'";
if ($query_run = mysql_query($component_id_query)) {
if (mysql_num_rows($query_run) == NULL) {
echo ('No results found');
} else {
while ($query_row = mysql_fetch_assoc($query_run)) {
$component_id = $query_row['id'];
echo ('component id: '.$component_id);
}
}
}
$questions = '';
?>
ここまで読んでくださった皆様、ありがとうございます。今私の問題は明らかに、会社IDからの元の結果が範囲外になったため、コンポーネントIDの2番目のクエリが機能しないことです。しかし、私はうんざりしPHP
ていて、そのクエリ結果を取得する別の方法がわかりません。
したがって、大きな問題は、その結果を取得して、範囲外にならないように保存するにはどうすればよいかということです。
すべての殺害の脅迫を保持し、すべての回答に感謝します..特に、このばかげた論理を使用する必要がないもの.
結果論
Join
ステートメントはこれらすべての問題を解決できますか?