我有三個MySQL表,我需要查詢所有的行。從每個表中獲取所有行後,我需要創建一個多維數組,其中該數組的每個索引僅包含每個表的值。我現在擁有的作品。但是,有些事情告訴我必須有更好的方法來完成這一點。排序PHP數組
$tables = array('table_one', 'table_two', 'table_three');
$final = array();
foreach($tables as $table) {
$sql = "SELECT * FROM ".$table."";
$query = mysqli_query($con, $sql)or die(mysqli_error($con));
$num = mysqli_num_rows($query);
$i = 0;
while($row = mysql_fetch_array($query)) {
$id[$i] = $row['user_id'];
$i++;
}
for($i=0;$i<$num;$i++) {
if(!is_array($final[$i])) {
$final[$i] = array($id[$i]);
} else {
array_push($final[$i], $id[$i]);
}
}
}
最終的結果是什麼,看起來像這樣
$final = array(array('table_one_row_one_val', 'table_two_row_one_val', 'table_three_row_one_val'),
array('table_one_row_two_val', 'table_two_row_two_val', 'table_three_row_two_val'),
array('table_one_row_three_val', 'table_two_row_three_val', 'table_three_row_three_val')
);
我得到的腸道砍伐,這可以更有效地完成,但我不知道怎麼樣。
感謝,
蘭斯
使用MySQL JOIN而不是三次選擇單個表。 http://dev.mysql.com/doc/refman/5.1/en/join.html – 2014-08-30 23:24:11
是的,但表格中各行的值之間沒有任何共性 – Lance 2014-08-30 23:32:38
如果沒有任何共性,爲什麼你拿三張桌子嗎?這絕對沒有邏輯。 – 2014-08-30 23:36:37