2017-03-07 43 views
0

我遇到了Wordpress的自定義查詢問題。
我想從$_POST查詢meta_values並打印包含輸入文本的值,但現在我只檢索整列。WordPress:基於INPUT(JSON)打印meta_values的自定義SELECT查詢

這是我的代碼:

$gets = '%'.$_REQUEST['s'].'%'; // Sets meta value from input 
    $meta_key = 'ricerca'; // Sets meta key 

    global $wpdb; 

    $metas = $wpdb->get_results(
     "SELECT DISTINCT meta_value 
     FROM $wpdb->postmeta 
     WHERE meta_key = '{$meta_key}' 
     AND meta_value LIKE '{$gets}'" 
    ); 

    $response = array(); // Initialize array 

    if (!empty($gets)) 
    { 
     foreach ($metas as $meta) 
     { 
      $response[] = $meta->meta_value; // Set single meta as array 
     } 
    } 

    echo json_encode($response); // Prints values. 
    exit(); 
} 

我在做什麼錯?

+0

您的查詢是正確的......可以顯示一些表數據和輸入 –

+0

@HappyCoding增加了更多的相關信息,謝謝。 – Badzlol

+0

嘗試打印查詢... –

回答

0

這表屏幕: WP_POSTMETA Table IMG

這就是輸入方式:

<form method="get" id="searchform" action="<?php echo esc_url(home_url('/')); ?>"> 

<?php if(mfn_opts_get('header-search') == 'shop'): ?> 
    <input type="hidden" name="post_type" value="product" /> 
<?php endif;?> 

<i class="icon_search icon-search-fine"></i> 
<a href="#" class="icon_close"><i class="icon-cancel-fine"></i></a> 

<input type="text" class="field" name="s" id="s" placeholder="<?php echo $translate['search-placeholder']; ?>" />   
<input type="submit" class="submit" value="" style="display:none;" /> 

這就是結果:Search form IMG

即使我輸入不明的話,它會彈出我所有meta_values。

0

你只需要修改查詢:

$sql = "SELECT DISTINCT meta_value 
     FROM $wpdb->postmeta 
     WHERE meta_key = '{$meta_key}'"; 

if(isset($_REQUEST['s']) && !empty($_REQUEST['s'])) 
    $sql .= " AND meta_value LIKE '{$gets}'"; 

$metas = $wpdb->get_results($sql); 
+0

SELECT DISTINCT meta_value FROM wp_postmeta WHERE meta_key ='ricerca' - $ _REQUEST ['s']不讀取輸入,實際上查詢不會添加「AND meta_value LIKE」.. – Badzlol

+0

print'$ _REQUEST ['' s']'並檢查值.....通過我們使用$獲取變量的方式...打印那一個也 –

+0

這就是打印:[「Stampaggio Materie Plastiche」,「Giardinaggio」,「Metallurgia Pressofusione Lavorazione Metalli 「,」Alimentari Produzione Olio「,」Giardinaggio-attrezzi,prodotti e forniture「,」Giardinaggio-Vivai piante e fiori「,」Test「,」Abbigliamento donna「,」Abbigliamento - vendita al dettaglio「,」Web Agency,Agenzia di Comunicazione,平面設計「,」「]它給我所有的價值.. – Badzlol