AIツールの活用方法を教えて

phpを使ってCSVデータを出力したいです。
現在、DB内のデータ1行分(最終行)をCSV出力できているのですが
他の行のデータが出力されません。
まだまだphp初心者ですので知識のある方どうぞご助言ください。
以下、現在のソースです。

<?php
require_once "Const.inc";
require_once "DBUtil.inc";

//DBコネクション取得
$db =& DBUtil::connect();

//クエリ生成
$query = "select ".
"strfct.strfct_nm as nm, ".
"emply.emply_id as id, ".
"emply.emply_nm as nm2, ".
"emply.pwd as pwd, ".
"emply.e_strfct_id as sid ".
"from ".
     "emply ".
 "inner join ".
"strfct on strfct.strfct_id = emply.e_strfct_id ";

$result = mysql_query($query);

while($row99 = mysql_fetch_assoc($result)):
$value_nm=$row99['nm'];
$value_id=$row99['id'];
$value_nm2=$row99['nm2'];
$value_pwd=$row99['pwd'];
$value_sid=$row99['sid'];

$list = "\"" . $value_nm . "\",\"" . $value_id . "\",\"" . $value_nm2 . "\",\"" . $value_pwd . "\",\"" . $value_sid . "\"\n";

endwhile;
mysql_free_result($result);

$size = strlen($list);
$filename = 'FCTDAT.csv';

//csvdll
header("Content-Disposition: inline; filename=\"".basename($filename)."\"");
header("Content-Length: ".$size);
header("Content-Type: text/csv");
echo ($list);

// DB切断
$db->disconnect();

?>

以上のソースで原因と思われる部分はwhile文の中だと考えております。どうにかDB内のデータの全行を出力したいです。
どうぞよろしくお願いいたします。

A 回答 (1件)

さらっと見ただけですが



>$list = "\"" . $value_nm . "\",\"" . $value_id . "\",\"" . $value_nm2 . "\",\"" . $value_pwd . "\",\"" . $value_sid . "\"\n";

ここは「=」ではなく、「.=」にしましょう。
「=」だと、左辺の値を常に右辺の値で上書きしてしまいます。
「.=」とすることで、左辺の値に右辺の値を連結することができます。
    • good
    • 0
この回答へのお礼

momokun2007さんへ

どうもありがとうございます!!!!
解決いたしました!!
また、的確なご説明まで添えていただいて本当にありがとうございます。常に上書いて出力していたので最終行でしか出力されなかったのですね!

また何かありましたらどうぞよろしくお願いいたしますm(_ _)m

お礼日時:2007/12/26 12:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報