2016-07-11 7 views
1

私は別々のテーブルがあり、各テーブルから同じデータが必要です。たとえば、私が選択している最初のテーブルは3623の値を持ち、2番目のテーブルの値は3852です。2つの異なるforeachループを持つ同じ配列に追加するPHP/SQL

これらの値を両方とも配列に取得しようとしています。私が使用しているコードは、以下のように見ることができます。問題は、最初のforeachループの値が追加され、2番目の値が追加されないということです。だから私はちょうど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); 
+0

ように2つのクエリの結果をマージするUNION ALLを使用することができますか? – rad11

+0

私は2つのテーブルを照会しているので、これは時間の経過とともに100にまで増加します –

+1

http://dev.mysql.com/doc/refman/5.7/en/union.htmlで試してください – rad11

答えて

1

uは1つのクエリでそれを使用傾けるなぜあなたは同じことをやって、この2つのクエリは

$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']; 
} 
+0

まだ動作しません。 2つの値のうち –

+0

第2テーブルのカラム値に 'not-set'が存在するか? – Saty

+1

私のエラーは、データベースが正しく書き直されていない、今、感謝! –

関連する問題