CSV形式のテキストデータを確認をはさんでSQLに登録したいのですが、自分で作るとテキストデータの解析がうまくいかず、中途半端にごちゃごちゃしてわからなくなりました。
------------------------------------------------------------------------
mysqlの「動物」テーブルに、3つのカラム「サイト名」「URL」「日時」があります。
import.phpの入力フォームのテキストボックスに、例えば
ここから
↓
ねこ,cat.com,3/8
いぬ,dog.com,
うさぎ,,6/21
ねずみ,mouse.com,12/30
↑
ここまで
をコピペして確認ボタンを押したら、内容を元に以下のようなテーブルで表示して、登録ボタンを押したらSQLに登録されるようなPHPを作成したいです。
------------------------------------------------------------------------
check.phpに表示する確認テーブル
サイト名 _URL 日時
ねこ cat.com 3/8
いぬ dog.com
うさぎ 6/21
ねずみ _mouse.com _12/30
------------------------------------------------------------------------
どなたかこのようなPHPのコードを教えてください。
どうかご教示のほど、よろしくお願いします。
No.3
- 回答日時:
改行はtrim関数や str_replace関数で削除することができるので、
explode関数に通す前にそれで改行をとれば良いです
それからfgetcsv関数はPHPのなかではあまり良い関数とはいえないので使わないほうがいいでしょう
昔からあまり動作が安定しない関数です
仮にfgetcsv関数のような振る舞いをする処理をしたいとしても多くの人は
fgetcsv風の自分なりの関数を自作してから使っているのが実情です
>昔からあまり動作が安定しない関数です
これは知りませんでした。fgetcsv_regというのが見つかりましたので、これを使ってみます。
No.2
- 回答日時:
> 自分で作るとテキストデータの解析がうまくいかず
explode()関数を使えばうまく配列などに格納してくれます
参考URLには似たような例がわかりやすく載っています
参考URL:http://php.net/manual/ja/function.explode.php
mysqlはcsv形式のデータを扱うことができるので、
【テキストデータ】->【解析して確認画面に表として表示】->【送信されたらcsv形式でインポート】
という手順を考えています。
explode関数は改行があると使えないので、fgetcsvで解析を考えました。
が、うまく解析されません(訂正するたびにエラー箇所が変わってきてどこが原因かがわからない)
また、csv形式でのインポートにしても、SQLからのエクスポートのやり方はいくつかのっているものの、インポートのやり方は載っていませんでした。
No.1
- 回答日時:
すみませんが、MySQLで直接CSVをインポートするほうがてっとり早いと思うんですが、なぜわざわざPHPを介してインポートするのでしょうか。
参考URL:データをCSVで入出力する方法 - MySQLの小技
http://tomo.ac/goodstream/database/mysql/linux/t …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- Oracle sqlで質問です。 Aテーブルの登録番号をキーにBテーブルから確認番号を取得したいのですが、Bテーブ 4 2023/05/18 13:08
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- MySQL #1062 - '0' は索引 'PRIMARY' で重複しています。とでています。 1 2023/01/01 06:13
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQLでデータベースにデータin...
-
PHPでいいね機能を作りたいので...
-
日またぎの計算
-
会員番号等に利用するダブらな...
-
PHPでPostgreSQLのテーブルを表...
-
MDB2エラーが対応出来ません。
-
phpでテーブルを作る際変数によ...
-
検索条件で絞込みの方法を教え...
-
OracleからAccessへのインポート
-
INSERT文とUPDATE文の使い分け
-
カラムにデータがあるかないか...
-
実行時エラー3131 FROM 句の構...
-
VBAをつかってクエリの情報を抽...
-
DBで検索結果に該当するデータ...
-
PHP + MySQLを使用して詳細画面...
-
検索結果をgoogleのように数件...
-
stringaddslashes 半角¥が消える
-
SQL文が実行できません
-
php データ削除
-
PHP&MySQLでの文字列+数列の一...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLでデータベースにデータin...
-
変数にNULLを代入したい
-
phpにて出欠登録管理を作成して...
-
phpでテーブルを作る際変数によ...
-
csvをDBへ読み込んだら、NULLが...
-
SQLで返り値が空とでる
-
ヒアドキュメントでSQLを書く事...
-
php sqlite count 列数取得
-
OracleからAccessへのインポート
-
変数を組み入れたい
-
Accessへ日付をINSERT
-
任意の値の取得
-
日またぎの計算
-
PHPでいいね機能を作りたいので...
-
クエリObjectをforeachで回す時...
-
PHP PDOを利用してカラムの削除...
-
会員番号等に利用するダブらな...
-
access → Oracleへのデータ移...
-
トランザクション処理
-
SQL CASE 文について
おすすめ情報