Advertisement
Guest User

Untitled

a guest
Sep 19th, 2014
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.23 KB | None | 0 0
  1.     $output = [];
  2.  
  3.     $query = $_GET["q"];
  4.     if(strlen($query)<3){
  5.         echo "[]";
  6.         die();
  7.     }
  8.  
  9.     $query = $wpdb->prepare($query, "");
  10.     $words = explode(' ', $query);
  11.  
  12.     $sql =  "SELECT pm.*
  13.            FROM wp_10_postmeta as pm JOIN
  14.                 wp_10_posts AS p
  15.                 ON pm.post_id = p.ID
  16.            WHERE (meta_key LIKE 'personnel_%_last_name' OR
  17.                    meta_key LIKE 'personnel_%_first_name' OR
  18.                    meta_key LIKE 'personnel_%_title' OR
  19.                    meta_key LIKE 'personnel_%_alias' OR
  20.                    meta_key LIKE 'webpages_%_title' OR
  21.                    meta_key LIKE 'webpages_%_alias' OR
  22.                    meta_key LIKE 'departments_%_name' OR
  23.                    meta_key LIKE 'departments_%_alias')
  24.                AND p.post_status = 'publish'
  25.            GROUP BY p.id";
  26.  
  27.     $sql_end = '';
  28.     $i = 0;
  29.     foreach($words as $word) {
  30.         if($i++ == 0){
  31.             $sql_end .= " HAVING";
  32.         }else{
  33.             $sql_end .= " AND";
  34.         }
  35.         $sql_end .= " SUM(meta_value LIKE '%{$word}%') > 0";
  36.     }
  37.  
  38.     //. " ORDER BY meta_value ASC"
  39.     $sql = $sql.$sql_end;
  40.  echo $sql;
  41.     $rows = $wpdb->get_results($sql);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement