2012-11-13 4 views
0

사용자 정의 SQL 쿼리를 수행하여 2 개의 많은 post_meta 키와 값을 얻으려고합니다. 내가 키와 값의 첫 번째 세트 쿼리 jsut 때wordpress query 2 세트의 메타 키

<?php 
    $queried_post = get_post($post_id); 
    $title = $term->name ; 
    $userid = $current_user->user_email; 
    $result = mysql_query("SELECT * FROM wp_postmeta WHERE meta_key='user_programme_name' AND meta_value='".$title."' AND meta_key='user_email' AND meta_value='".$userid."' "); 
    $num_rows = mysql_num_rows($result); 
    if ($num_rows > 0) { 
?> 

<p style="width:430px;">You have already requested a place on this course</p> 

<?php } ?> 

쿼리의 첫 번째 부분은 작동 : 여기 내 코드입니다

meta_key='user_programme_name' AND meta_value='".$title."' 

을하지만 곧 내가 두 번째 많은 추가로 :

AND meta_key='user_email' AND meta_value='".$userid."' 

작동하지 않습니다. 내가 뭘 잘못하고 있니?

도움을 주시면 감사하겠습니다.

건배 댄

답변

1

사용 무언가 :

$args = array( 'post_type' => 'myposttype', 
      'posts_per_page' => …, 
      'offset' => …, 
      'meta_query'=>array( 
        'relation' => 'AND', 
        array(
         'key'=>'_first_key',      
        'value'=> youvalue, 
        'type' => 'DATE', // etc. 
        'compare' => '=' 
        ), 
        array(
         'key'=>'_second_key',  
             'value'=> youvalue, 
        'type' => 'DATE', // etc. 
        'compare' => '=' 
        ) 
      ) 
); 
$yourloop = new WP_Query($args); 
+0

인 경우 행 수를 계산할 수 있습니까? – danyo

+0

이 솔루션은 WP 친화적입니다. :) – inigomedina

+0

예, 행 수를 계산할 수 있습니다. $ yourloop-> found_posts. – barakadam

1

같은 열에서 여러 값을 선택하는 당신의 SQL 구문을 수정 :이 같은

<?php 

    $result = mysql_query("SELECT * FROM wp_postmeta WHERE meta_key IN ('user_programme_name', 'user_email') AND meta_value IN ('.$title.', '.$userid.') "); 

?> 
+0

당신을 감사합니다! 완벽하게 일했습니다! – danyo

+0

그냥 다시보고, 그리고 그것은 나던 것처럼 작동하지 않는 것 ... 두 값을 살펴 봐야합니다. 나는 그 순간에 $ userid가 동일하고 $ 제목에 관한 것이 아니라는 것을 감지하고 있다고 생각한다. – danyo

+0

. 'join '을 할 필요가 있습니다. 위의 숫자가 – inigomedina

관련 문제