it-swarm-vi.com

Làm cách nào để lưu dữ liệu từ 2 trường dưới dạng chuỗi JSON vào 1 trường bảng cơ sở dữ liệu?

Tôi cần trợ giúp để lưu trữ dữ liệu ở định dạng json trong DB của tôi như {name:'1', name2:'2'}.

Cho đến nay tôi có điều này:

mô hình/biểu mẫu/thể loại:

<fieldset>
    <field
        name="name"
        type="text"
        label="name"
    />
    <field
        name="name2"
        type="text"
        label="name"
    />
</fieldset>

xem/danh mục/tmpl/edit.php:

<?php echo $this->form->getInput('name'); ?></li>
<?php echo $this->form->getInput('name2'); ?></li>

Tôi cần gửi 2 trường này dưới dạng chuỗi được mã hóa json vào trường 1 DB.

4
yaak

Bạn cần cả hai hàm PHP để thực hiện công việc này:

json_encode:

http://www.php.net/manual/de/feft.json-encode.php

json_decode:

http://www.php.net/manual/de/feft.json-decode.php

Có lẽ một cái gì đó như thế này:

<?php
$arr = array ();
$arr[name] = $this->form->getInput('name');
$arr[name2] = $this->form->getInput('name2');     
echo json_encode($arr);
?>
3
Joomla Agency

Đính kèm hai trường đó trong một thành phần trong tệp xml mẫu của bạn.

<fields label="COM_COMPONENTNAME_FIELDNAME_FIELDSET_LABEL" name="fieldname">
  <fieldset label="COM_COMPONENTNAME_FIELDNAME_FIELDSET_LABEL" name="basic">
     <field name="name" type="text" label="name"/>
     <field name="name2" type="text" label="name"/>
  </fieldset>
</fields>

Bây giờ cả hai trường sẽ chuyển thành dữ liệu json vào cột bảng "tên trường" (thay đổi nó thành tên trường thực tế của bạn)

1
Nagarjun