使用两个不同的foreach循环PHP / SQL添加到同一个数组

时间:2016-07-11 10:19:01

标签: php mysql arrays

我有完整的数据表,我需要每个表中的相同数据。例如,我选择的第一个表的值为3623,第二个表的值为3852。

我试图将这两个值都放到一个数组中,然后在下面的线上绘制一个图形。我正在使用的代码可以在下面看到,问题是来自第一个foreach循环的值被添加而不是第二个。所以我最终只得到3623而不是3852也是一个问题。

$datay1 = array();
$yes = "not-set";
$sql = "SELECT * FROM `0530-0605` WHERE SearchTerm = :yes";
$stmt = $conn->prepare($sql);
$stmt->bindParam(":yes", $yes);
$stmt->execute();
foreach($stmt as $row) {
    $datay1[] = $row['Clicks'];
}

$sql = "SELECT * FROM `0606-0612` WHERE SearchTerm = :yes";
$stmt = $conn->prepare($sql);
$stmt->bindParam(":yes", $yes);
$stmt->execute();
foreach($stmt as $row) {
    $datay1[] = $row['Clicks'];
}

print_r($datay1);

1 个答案:

答案 0 :(得分:1)

您可以使用UNION ALL将两个查询的结果合并为

$sql = "SELECT * FROM `0530-0605` WHERE SearchTerm = :yes
UNION ALL
SELECT * FROM `0606-0612` WHERE SearchTerm = :yes1";

$stmt = $conn->prepare($sql);
$stmt->bindParam(":yes", $yes);
$stmt->bindParam(":yes1", $yes);
$stmt->execute();
foreach($stmt as $row) {
    $datay1[] = $row['Clicks'];
}