標題についてですが、テーブル'inventory'のみをSELECTすると出力できるのですが、テーブル'kakaku_list'と結合すると出力できなくなりました。
どなたかご教授お願いいたします。
<?php //DB接続情報 $dsn = 'mysql:host=xxx;dbname=xxx'; $id = 'xxx'; $pw = 'xxx'; if (isset($_POST["dlbtn"])) { try { //DB検索処理 $pdo = new PDO($dsn, $id, $pw, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); $sql = "SELECT inventory.id ,inventory.zaikoryo , inventory.name FROM inventory LEFT JOIN kakaku_list ON inventory.code = kakaku_list.No"; $stmt = $pdo->prepare($sql); $stmt->execute(); //CSV文字列生成 $csvstr = "id,名前,在庫量\r\n"; while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $csvstr .= $row['inventory.id'] . ","; $csvstr .= $row['inventory.name'] . ","; $csvstr .= $row['inventory.zaikoryo'] . "\r\n"; } //CSV出力 $fileNm = "inventory.csv"; header('Content-Type: text/csv'); header('Content-Disposition: attachment; filename='.$fileNm); echo mb_convert_encoding($csvstr, "SJIS", "UTF-8"); //Shift-JISに変換したい場合のみ exit(); }catch(ErrorException $ex){ print('ErrorException:' . $ex->getMessage()); }catch(PDOException $ex){ print('PDOException:' . $ex->getMessage()); } } ?> <form action="xxx.php" method="post"> <input type="submit" name="dlbtn" value="ダウンロード" /> </form>
DBのレコード等も記載された方が良いと思います。おそらく結合した際に結果に一致するデータが無いとかだと思いますが。。
回答2件
あなたの回答
tips
プレビュー