[PHP-users 30721] Re: 配列内容のデータベースのレコードへの書き出し

Kazuhiro Kotsutsumi kotsutsumi @ xenophy.com
2006年 11月 15日 (水) 02:09:03 JST


Xenophy 小堤です。

下記の内容からすると、勘違いしてたらごめんなさい。
$valueのは

array(
    array(
        [0] => 'ツール',
        [1] => 'tool',
        [2] => 'tools'
    ),
    array(
        [0] => 'ユーザー',
        [1] => 'user',
        [2] => 'ゆーざー'
    ),
    array(
        [0] => 'ファイル',
        [1] => 'file',
        [2] => 'ふぁいる'
    )
)

つまり

array(
    array( 'ツール', 'tool', 'tools' ),
    array( 'ユーザー', 'user', 'ゆーざー' ),
    array( 'ファイル', 'file', 'ふぁいる' )
)

こういうデータだと思うのですが

foreachで回したときにmb_convert_encodingしているデータ配列じゃないです
か?

実際下記の処理を行いたいのなら

foreach( $value as $nkey => $arrValue ) {

    foreach( $arrValue as $nkey2 => $strValue ) {

        $encode_val =
        mb_convert_encoding( $strValue,"EUC-JP","Shift_JIS"); 

	// $encode_valをDBにいれる

    }
}

って感じになると思うのですが・・。
はずしてたらごめんんさい。


>配列の内容をデータベースにレコードとして登録したいのです
>が、どうもうまくいきません。(レコードに書き込むことはで
>きるが、意図したようにいかない)
>どうかお教え願いたいのですが。 
>PHPは5.05で、データベースはSQLiteを使っています。
>
>foreachでループしたときの配列 $value 
>Array ( [0] => ツール [1] => tool [2] => tools ) 
>Array ( [0] => ユーザー [1] => user [2] => ゆーざー ) 
>Array ( [0] => ファイル [1] => file [2] => ふぁいる )
>
>$db_open=sqlite_open("SQLiteManager/word"); 
>foreach($value as $val) { 
>$encode_val =
>mb_convert_encoding($val,"EUC-JP","Shift_JIS"); 
>sqlite_query($db_open, "INSERT INTO thesaurus(
>
>このあたりは使うと思うのですが、うまくいかなくて。
>データベース名 word テーブル名 thesaurus
>テーブルにword,dougigo1,dougigo2,dougigo3といったフィー
>ルドを用意し,Array ( [0] => ツール [1] => tool [2] =>
>tools )
>の[0]をword,[1]をdougigo1 
>といった具合に書き出して、他の配列でも同じように処理して
>いきたいのです。
>
>
>
>--------------------------------------
>Yahoo! JAPAN "Pink Ribbon Campaign 2006"
>-Breast Cancer Awareness-
>http://pr.mail.yahoo.co.jp/pinkribbon/
>_______________________________________________
>PHP-users mailing list  PHP-users @ php.gr.jp
>http://ml.php.gr.jp/mailman/listinfo/php-users
>PHP初心者のためのページ - 質問する前にはこちらをお読みください
>http://www.php.gr.jp/php/novice.php3







PHP-users メーリングリストの案内