1

mysql の結果を配列に保存できるようにするこのコードがあります (私はそう思います)。2 つの配列を取得し、それらを 1 つにマージする必要があります。

問題は、明らかに正しい方法でマージされないことです。マージされますが、すべての値ではありません..

ここで何が間違っていますか?ありがとう!

<?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 に答える