티스의 이야기

PHP-복수의 검색키워드로 검색하고 싶을때 본문

프로그래밍

PHP-복수의 검색키워드로 검색하고 싶을때

밍딩이 2016. 6. 23. 18:03

PHP-복수의 검색키워드로 검색하고 싶을 때


explode() 함수를 사용해 검색 문자열을 배열에 대입하고 SQL문을 작성합니다





<!DOCTYPE html>

<html lang="ko">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width,initial-scale=1.0">

<title>복수의 검색 키워드로 검색하고 싶을 때</title>

<link href="../../css/style.css" rel="stylesheet">

</head>

<body>

<div>

<?php

// h() 함수 레시피 218를 불러옵니다 레시피 041.

require_once '../../../../lib/h.php';

// checkInput() 함수 레시피 211를 불러옵니다.

require_once '../../../../lib/checkInput.php';


// POST된 데이터를 체크합니다.

$_POST = checkInput($_POST);


// 3항 연산자 레시피 025로 검색 문자열의 유무를 판정하고 처리합니다.

$data = isset($_POST['data']) ? trim($_POST['data']) : '';

// 입력된 검색 문자열을 explode() 함수에서 반각 공백으로 단락을 짓고 배열에 대입합니다.

// 멀티바이트 공백으로 단락을 지은 경우를 고려하여 mb_convert_kata() 함수 레시피 053로

// 싱글 바이트 공백으로 변환합니다.

$dataList = explode(' ', mb_convert_kana($data, 's'));

// 값이 빈 요소를 삭제합니다 레시피 093.

$dataList = array_filter($dataList, function ($val) {

return $val != '';

});

// 값으로 정렬하여 키를 0에서 다시 매깁니다 레시피 081.

sort($dataList);


if (! empty($dataList)) {

// 데이터베이스 설정 레시피 257을 불러옵니다 레시피 041.

   require_once __DIR__ . '/../../../../conf/database_conf.php';


try{

// MySQL 데이터베이스에 접속합니다 레시피 레시피 257.

$db = new PDO($dsn, $dbUser, $dbPass);

$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


// SQL문을 준비합니다.

// 검색 문자열의 수만큼 ':data0', ':data1' 등과 같이 플레이스 홀더를 준비합니다.

$where = '';

foreach ($dataList as $key => $value) {


}

}


}

'프로그래밍' 카테고리의 다른 글

PHP-복수 선택한 데이터 검색하기  (0) 2016.06.27
MS-SQL 문법정리 select 문  (0) 2016.06.24
PHP-태그를 없애고 싶을 때  (0) 2016.06.23
PHP-magic_quotes_gpc  (0) 2016.06.23
PHP-메일전송폼3  (3) 2016.06.17
Comments