这是一个愚蠢的问题。我需要从两个数据源(一个Oracle和另一个SQL Server)中获取数据并比较数据。如果两个数据都打印相同,但是如果一个数据丢失,则只有一侧留空。目前,我运行两个while循环并排放置在一个表中。但是有时数据并不相同。我在另一个循环中尝试了一个while循环,但结果与预期不同。我该如何存档?无论如何,我可以在一个循环内访问数据吗?
例如:
来源1-[2018-10-15,2018-10-16,2018-10-18,2018-10-19]
来源2-[2018-10-15,2018-10-18]
预期表:
2018-10-15 | 2018-10-15
2018-10-16 |没有数据
2018-10-18 | 2018-10-18
2018-10-19 |没有数据
$contents .= '<div class="table-responsive col-md-6"><table class="table table-striped"><thead><tr class="table-active"><th>Time Detail 1</th></tr></thead>';
while (odbc_fetch_row($result_1)){
$F_time = odbc_result($result_1,"Time1");
$s_id = odbc_result($result_1,"id");
$contents .= '<tr><td class="col-md-1">' . $F_time . ' <sup class="badge badge-success"> ' . $s_id . '</sup></td></tr>';
}
$contents .= '</table></div><div class="table-responsive col-md-6"><table class="table table-striped"><thead><tr class="table-active"><th>Time Detail 2</th></tr></thead>';
while (odbc_fetch_row($$result_2)){
$F_time2 = odbc_result($$result_2,"time2");
$contents .= '<tr><td class="col-md-1">' . $F_time2 . '</td></tr>';
}
$contents .= '</table></div></div>';
答案 0 :(得分:0)
由于您通常具有相同的数据,因此请使用应该匹配的唯一数据(最好是某种ID)作为比较键。
这将为您提供一个表,其中包含来自两个数据源的所有元素,并且具有一个空单元格,其中一个源具有数据,而另一个源没有数据。
答案 1 :(得分:0)
如果您有数组,请尝试
$array = array('2018-10-15','2018-10-16','2018-10-18','2018-10-19');
$array1 = array('2018-10-15','2018-10-18');
$result=array_unique(array_merge($array,$array1));
$fristarray = $secondarray = array();
foreach ($result as $value) {
if(in_array($value, $array)){
$fristarray[] = $value;
}else{
$fristarray[] = 'No Data';
}
if(in_array($value, $array1)){
$secondarray[] = $value;
}else{
$secondarray[] = 'No Data';
}
}
echo '<pre>';
print_r($fristarray);
echo '</pre>';
echo '<pre>';
print_r($secondarray);
echo '</pre>';
喜欢的
Array
(
[0] => 2018-10-15
[1] => 2018-10-16
[2] => 2018-10-18
[3] => 2018-10-19
)
Array
(
[0] => 2018-10-15
[1] => No Data
[2] => 2018-10-18
[3] => No Data
)