1

我有这段代码允许我将mysql结果保存(我猜是这样)到一个数组中,然后我得到两个数组,我需要将它们合并为一个!

问题显然是它不会以正确的方式合并,它会合并但不是所有的值..

我在这里做错了什么?谢谢!

<?php 
$date1=mysql_query("SELECT date FROM date WHERE att_id='$att_id'");
$date2=mysql_query("SELECT date FROM date_pdv WHERE att_id='$att_id'");
while ($row = mysql_fetch_array($date1, MYSQL_ASSOC)) {
    printf("Data: %s", $row["date"]);
    $firstdate=$row['date'];
}
while ($row = mysql_fetch_array($date2, MYSQL_ASSOC)) {
    printf(" Data1: %s", $row["date"]);
    $seconddate=$row['date'];
}
$result = array_merge((array)$firstdate, (array)$seconddate);
print_r($result);
?>
4

4 回答 4

0
$firstdate[]=$row['date'];
$seconddate[]=$row['date'];

您的 firstdate 和 seconddate 不是放在相应位置的上述行的数组,您将获得解决方案...并停止使用 mysql 函数使用 pdo

于 2012-09-19T09:53:45.310 回答
0

你为什么不使用一个查询呢?

(SELECT date 
FROM date
WHERE att_id='$att_id')
UNION 
(SELECT date
FROM date_pdv
WHERE att_id='$att_id')
于 2012-09-19T09:54:04.920 回答
0

如果你有 2 个数组,你想合并 2 个数组。但是,你没有2个字符串..

所以

$result = array();
array_push($result, $row['date'];

var_dump( $result );
于 2012-09-19T09:54:23.283 回答
-1

类型转换不会将字符串转换为数组,您实际上必须传递(并构建)数组:

$date1=mysql_query("SELECT date FROM date WHERE att_id='$att_id'");
$date2=mysql_query("SELECT date FROM date_pdv WHERE att_id='$att_id'");
while ($row = mysql_fetch_array($date1, MYSQL_ASSOC)) {
    printf("Data: %s", $row["date"]);
    $firstdate[] =$row['date'];
}
while ($row = mysql_fetch_array($date2, MYSQL_ASSOC)) {
    printf(" Data1: %s", $row["date"]);
    $seconddate[] =$row['date'];
}
$result = array_merge($firstdate, $seconddate);
print_r($result);
于 2012-09-19T09:53:26.617 回答