Model
ID Model
1 1
2 2
3 4
4 10
Model-table
ID model_id table_name
1 1 table1
2 3 table2
3 4 table3
注意:每个模型都需要table_name并不重要。
我找到了模型宽度为id 3的table_name,它是table2
。找到它是如此简单,我没有看到在这里写我的sql的原因。找到table2
后,我应该从table2
中选择并查找所有参数。在这种情况下,我应该写第二个SQL。这是table2
注意:我们可以使用3找到model_id的所有参数。
table2
ID model_id param1 param2 param3
1 3 0 5 10
我的问题:
我正在寻找方法,首先在model_table
中找到合适的model_id并获取table_name
,然后从table_name
中选择THEN SELECT并使用1 SQL获取所有参数。
注意:我的PHP PAGE上有id和model_id变量。因此,我们需要使用Limit 1并将适当的数据提取到1 id和model_id。
答案 0 :(得分:0)
您必须在两个查询中执行此操作,因为表名不能是动态的。您的代码应如下所示:
$mysqli = new MySQLi(/*connection details*/);
// Fetch table name
$query = "SELECT table_name
FROM model-table
WHERE model_id = 3";
$result = $mysqli->query($query);
$row = $result->fetch_assoc($result);
$table = $row['table_name'];
// Fetch data from table2
$query = "SELECT ID, model_id, param1, param2, param3
FROM $table";
$result = $mysqli->query($query);
while($row = $mysqli->fetch_assoc($result)) {
// do something with the data from the table...
}
答案 1 :(得分:0)