1
我有一個函數接受一個表數組作爲參數,內部連接後他們返回結果行。內部連接動態表數
function myfunc($tables, $join_on) {
foreach($tables as $table) {
// build query
}
}
如何構建查詢?例如,如果$tables = array('table1', 'table2')
和$join_on = 'field_x'
那麼它應該創建以下查詢:你需要添加一些錯誤檢查,以確保您
function myfunc($tables, $join_on) {
$mainTable = $tables[0];
$sql = "SELECT * FROM $mainTable";
for($i = 1; i<count($tables);$i++) {
$curTable = $tables[$i];
$joinField = $join_on[$i-1];
$sql.= " INNER JOIN $curTable ON $curTable.$joinField = $mainTable.$joinField";
}
return sql;
}
當然:
SELECT * FROM table1 INNER JOIN table2 ON table1.field_x = table2.field_x
我試圖建立一個數組在循環中加入,然後使它們崩潰,但似乎'implode'不適合這個問題 – user16948
也許顯示你的代碼。 –
這是一個多麼糟糕的問題。我希望這是值得的。 – NappingRabbit