Вставить значение JSON с foreach? - PullRequest
0 голосов
/ 30 октября 2011

Я хочу вставить это значение JSON в базу данных, но, следуя PHP-коду, он вставит только [ в таблицу. как можно решить эту проблему?

HTML-код:

<input name="start_date[]" value="2012/08/07">
<input name="start_date[]" value="2011/10/29">
<input name="percent[]" value="56">

Это значение JSON : ["2012\/08\/07","2011\/10\/29"]

PHP-код:

    $start_date         = json_encode($this->input->post('start_date'));
    $percent       = $this->input->post('percent');

            print_r($start_date); // This output is as: ["2012\/08\/07","2011\/10\/29"]

            $data = array();
            foreach ($percent as $idx => $name) {
                $data[] = array(
                    'start_date' => $start_date[$idx],
                    'price_change' => $percent[$idx]
                );
            };                
            $this->db->insert_batch('table', $data);

Ответы [ 2 ]

0 голосов
/ 30 октября 2011

На самом деле я не понимаю, чего вы пытаетесь достичь, но я попробую.Поможет ли это, если вы просто удалите «[$ idx]» из вашей $ start_date.Поэтому запись в базу данных будет выглядеть так:

$data[] = array(
    'start_date' => $start_date,
    'price_change' => $percent[$idx]
);
0 голосов
/ 30 октября 2011

" может сбить с толку. Я не могу сказать, какую систему баз данных вы используете, но, возможно, вам следует попробовать экранировать от " до \" (с помощью addslashes()) и посмотреть, исправит ли это что-нибудь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...