PHP json_encode并将数据插入数据库

时间:2011-09-17 16:20:44

标签: php arrays codeigniter json

我使用codeigniter.how可以通过json_encode将此值(在html代码中)插入到一行数据库中吗?

演示: http://jsfiddle.net/AQPwv/3/

<input name="name_r[0][]" value="hi">
<p>
    <input name="units[1][]" value="how">
    <input type="text" name="units[1][]" value="2" style="width:20px;">
    <input type="text" name="units[1][]" value="256314" style="width:65px;">
    <input name="units[1][]" value="fine">
    <input type="text" name="units[1][]" value="4" style="width:20px;">
    <input type="text" name="units[1][]" value="854621" style="width:65px;">
    <p>
        <input type="text" name="price_change[2][]" value="21466" style="width:75px;">
        <input type="text" name="price_change[2][]" value="54219" style="width:75px;">
        <input type="text" name="price_change[2][]" value="48752" style="width:65px;">
        <input type="text" name="price_change[2][]" value="86541" style="width:75px;">
        <input type="text" name="price_change[2][]" value="47276" style="width:75px;">
        <input type="text" name="price_change[2][]" value="74538" style="width:65px;">
        <p>
            <hr>
<p>
    <input name="name_r[0][]" value="hello">
    <p>
        <input name="units[1][]" value="Library">
        <input type="text" name="units[1][]" value="5" style="width:20px;">
        <input type="text" name="units[1][]" value="95641" style="width:65px;">
        <input name="units[1][]" value="khobee">
        <input type="text" name="units[1][]" value="6" style="width:20px;">
        <input type="text" name="units[1][]" value="84527" style="width:65px;">
        <input name="units[1][]" value="PowerTools ">
        <input type="text" name="units[1][]" value="7" style="width:20px;">
        <input type="text" name="units[1][]" value="75462" style="width:65px;">
        <p>
            <input type="text" name="price_change[2][]" value="8457" style="width:75px;">
            <input type="text" name="price_change[2][]" value="134" style="width:75px;">
            <input type="text" name="price_change[2][]" value="76144" style="width:65px;">
            <input type="text" name="price_change[2][]" value="956414" style="width:75px;">
            <input type="text" name="price_change[2][]" value="7546" style="width:75px;">
            <input type="text" name="price_change[2][]" value="123" style="width:65px;">
            <input type="text" name="price_change[2][]" value="84541" style="width:75px;">
            <input type="text" name="price_change[2][]" value="654" style="width:75px;">
            <input type="text" name="price_change[2][]" value="8165" style="width:65px;">
            <input type="text" name="price_change[2][]" value="2145" style="width:75px;">
            <input type="text" name="price_change[2][]" value="354" style="width:75px;">
            <input type="text" name="price_change[2][]" value="4774" style="width:65px;">

更新 我希望数据库表中的商店数据为:

[{
    "name_r": "hi",
    "units": ["how", "2", "256314"],["fine", "4", "854621"],
    "price_change": ["21466", "54219", "48752"],["86541", "47276", "74538"],
}, {
    "name_r": "hello",
    "units": ["Library", "5", "95641"],["khobee", "6", "84527"],["PowerTools ", "7", "75462"],
    "checkbox_units": ["8457", "134", "76144"],["956414", "7546", "123"],["84541", "654", "8165"],["2145", "354", "4774"]
}]

怎么回事?

1 个答案:

答案 0 :(得分:0)

您必须更改此标记,请按照以下代码

$name_r=$this->input->post('name_r');
$units=$this->input->post('units');
$price_change=$this->input->post('price_change');

foreach($name_r as $key => $value)
{
    $arr[]=array(
     'name_r'=>$value['0'],
     'units'=>$units[$key],
     'price_change'=>$price_change[$key]
    );
}

$json=json_encode($arr);

// insert $json into your db table

将标记更改为此

<input name="name_r[1][]" value="hi">
<p>
    <input name="units[1][]" value="how">
    <input type="text" name="units[1][]" value="2" style="width:20px;">
    <input type="text" name="units[1][]" value="256314" style="width:65px;">
    <input name="units[1][]" value="fine">
    <input type="text" name="units[1][]" value="4" style="width:20px;">
    <input type="text" name="units[1][]" value="854621" style="width:65px;">
    <p>
        <input type="text" name="price_change[1][]" value="21466" style="width:75px;">
        <input type="text" name="price_change[1][]" value="54219" style="width:75px;">
        <input type="text" name="price_change[1][]" value="48752" style="width:65px;">
        <input type="text" name="price_change[1][]" value="86541" style="width:75px;">
        <input type="text" name="price_change[1][]" value="47276" style="width:75px;">
        <input type="text" name="price_change[1][]" value="74538" style="width:65px;">
        <p>
            <hr>
<p>
    <input name="name_r[2][]" value="hello">
    <p>
        <input name="units[2][]" value="Library">
        <input type="text" name="units[2][]" value="5" style="width:20px;">
        <input type="text" name="units[2][]" value="95641" style="width:65px;">
        <input name="units[2][]" value="khobee">
        <input type="text" name="units[2][]" value="6" style="width:20px;">
        <input type="text" name="units[2][]" value="84527" style="width:65px;">
        <input name="units[2][]" value="PowerTools ">
        <input type="text" name="units[2][]" value="7" style="width:20px;">
        <input type="text" name="units[2][]" value="75462" style="width:65px;">
        <p>
            <input type="text" name="price_change[2][]" value="8457" style="width:75px;">
            <input type="text" name="price_change[2][]" value="134" style="width:75px;">
            <input type="text" name="price_change[2][]" value="76144" style="width:65px;">
            <input type="text" name="price_change[2][]" value="956414" style="width:75px;">
            <input type="text" name="price_change[2][]" value="7546" style="width:75px;">
            <input type="text" name="price_change[2][]" value="123" style="width:65px;">
            <input type="text" name="price_change[2][]" value="84541" style="width:75px;">
            <input type="text" name="price_change[2][]" value="654" style="width:75px;">
            <input type="text" name="price_change[2][]" value="8165" style="width:65px;">
            <input type="text" name="price_change[2][]" value="2145" style="width:75px;">
            <input type="text" name="price_change[2][]" value="354" style="width:75px;">
            <input type="text" name="price_change[2][]" value="4774" style="width:65px;">

您可以在此处获得

下面的JSON字符串
[
{"name_r":"hi","units":["how","2","256314","fine","4","854621"],"price_change":["21466","54219","48752","86541","47276","74538"]},

{"name_r":"hello","units":["Library","5","95641","khobee","6","84527","PowerTools ","7","75462"],"price_change":["8457","134","76144","956414","7546","123","84541","654","8165","2145","354","4774"]}
]