> 백엔드 개발 > PHP 튜토리얼 > 배열을 데이터베이스에 저장하는 방법은 무엇입니까?

배열을 데이터베이스에 저장하는 방법은 무엇입니까?

WBOY
풀어 주다: 2016-09-09 08:13:14
원래의
1638명이 탐색했습니다.

먼저 요구 사항에 대해 이야기해 보겠습니다. 태그를 기반으로 관련 기사를 구현하고 기사 색인을 구현합니다. 기존 테이블은 기사 테이블(id, title...), 태그 테이블(tagid, 태그), 태그 기사 대응의 세 가지입니다. table.(aid, tagid): 기사 게시 페이지에 태그 필드를 추가하고 하나의 기사에 있는 여러 태그를 분할하여 데이터베이스에 저장합니다. explod()를 사용하지 않으면 mysql은 필드 정보와 추가된 데이터 정보를 성공적으로 얻을 수 있지만,explod()를 사용한 후에는 사용할 수 없습니다. 필드 정보와 값은 항상 비어 있습니다. 질문: 하나의 기사가 여러 태그와 색인화의 효과를 어떻게 얻을 수 있습니까? 또는 다음 코드를 어떻게 개선할 수 있습니까?
배열을 데이터베이스에 저장하는 방법은 무엇입니까?
배열을 데이터베이스에 저장하는 방법은 무엇입니까?

<code>$article=I("post.post");
      $article['eid']=I("post.eid");
      $tags=I("post.tags");
      $tags['tag']=explode(",",I("post.tag"));
      $article['smeta']=json_encode($_POST['smeta']);
      $article['post_content']=htmlspecialchars_decode($article['post_content']);
      $result=$this->posts_model->add($article);
      $result2=$this->tags_model->add($tags);
      echo $this->tags_model->getLastSql();
      dump($tags);
      if ($result && $result2) {
        
        $this->tag_relationships_model->add(array("aid"=>$result,"tagid"=>$result2));

        foreach ($_POST['term'] as $mterm_id){
          $this->term_relationships_model->add(array("term_id"=>intval($mterm_id),"object_id"=>$result));
        }
        $this->success("添加成功!");
      } else {
        $this->error("添加失败!");
      }
       
    }</code>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿