質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

226閲覧

php: fputcsvについて

hiroponta

総合スコア10

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2018/09/19 03:46

php

1function search_menu_page() { 2 ?> 3 <div class="wrap"> 4 <form class="" action="" method="post"> 5 <dl class=""> 6 <dt style="display: inline-block; width: 100px;"><label for="">記事ID</label></dt> 7 <dd style="display: inline-block; width: 100px;"><input name="kiji-id" type="text" value=""></dd><br> 8 <dt style="display: inline-block; width: 100px;">記事タイトル</dt> 9 <dd style="display: inline-block; width: 100px;"><input name="kiji-title" type="text"></dd><br> 10 </dl> 11 <button type="search" name="検索" value="検索">出力</button> 12 13 </form> 14 </div> 15 16 <?php 17 18 global $wpdb; 19 20 $search_kiji_id = isset($_POST['kiji-id']) ? $_POST['kiji-id']: ""; 21 $search_kiji_title = isset($_POST['kiji-title']) ? $_POST['kiji-title']: ""; 22 23 if (!empty($search_kiji_id)) { 24 $sql = $wpdb->get_results("SELECT id,post_date, post_title, post_content FROM wp_posts WHERE id = '$search_kiji_id'",ARRAY_A ); 25 } 26 if (!empty($search_kiji_title)) { 27 $sql = $wpdb->get_results("SELECT id,post_date, post_title, post_content FROM wp_posts WHERE post_title = '$search_kiji_title'" ,ARRAY_A); 28 } 29 30 31 32$file = new SplFileObject('recipe.csv', 'w'); 33// $file = fopen('recipe.csv', 'w'); 34 if (!empty($sql)) { 35 foreach ($sql as $key => $row) { 36 foreach ($row as $key2 => $value) { 37 // print_r('<pre>'); 38 // var_export($value); 39 // print_r('</pre>'); 40 $file->fputcsv($value); 41 // fputcsv($file,$value); 42 } 43 } 44 } 45 // $fc = fclose($file); 46 47} 48 49function test_admin_menu() { 50 add_menu_page( 'レシピ検索', 'レシピ検索', 'read', basename(__FILE__), 'search_menu_page' ); 51} 52add_action( 'admin_menu', 'test_admin_menu' ); 53コード

wordressの管理画面でwp_postのデータベースからデータを引っ張り、csvに書き出したいのですが、うまくいきません。
今現在はエクセルが開きますが、白紙です。
イメージとしては、
'70','2018-09-13 13:29:57','test','てすとですよ。'

という感じにしたいです。どなたかアドバイスお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/09/19 04:39

どこまで想定通りに通っているのでしょうか。var_export()されていますが、このデバッグ部分はどこまで通っていますか?
guest

回答1

0

fputcsvの引数には1行分のデータの配列を渡すのよ

投稿2018/09/19 05:09

KazuhiroHatano

総合スコア7804

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroponta

2018/09/19 05:19

申し訳ございません。 知識があまりないので詳しく教えていただきたいのですが、$valueの部分をどう変えればよいのでしょうか?
KazuhiroHatano

2018/09/19 05:26

前の質問だとちゃんと$rowをfputcsvに渡してたみたいですね 迷走してますね、前の質問の時の通り$rowを渡す形でいいです
KazuhiroHatano

2018/09/19 05:30

mts10806さんと被りますが、var_export($value);の結果はどうだったのでしょう? そこから想定通りじゃなかったのですか? そこは想定通りなのにCSVの書き出しができないですか?
hiroponta

2018/09/19 05:37

var_export($value);をすると、 '70''2018-09-13 13:29:57''test''てすとですよ。'とでてきます。 そこは想定通りですが、書き出してくれません。
KazuhiroHatano

2018/09/19 05:48

recipe.csvは書き出されてるけどExcelで開くと白紙? 実はメモ帳で開く想定通りのデータがいたりします?
hiroponta

2018/09/19 05:54

サクラエディタでは白紙です。 メモ帳はまだ確認してません。
hiroponta

2018/09/19 05:57

メモ帳でも白紙でした。
KazuhiroHatano

2018/09/19 06:10

パーミションはrecipe.csvは管理者で書き込み可能ですか? 多分644ぐらいになってるべきところと思いますがどうでしょうか?
hiroponta

2018/09/19 06:18

それはどこで変更可能でしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問