2016-10-14 9 views
0

これは何百回も尋ねられていますが、どこかのステップをスキップしていて、誰かが何が間違っているのかを助けてくれますか?wpdb foreachループif/elseステートメント

私はwordpress/woocommerceを使用しています。ユーザーが製品を購入すると、user_id、email、product_id、timestampという表に次のものが挿入されます。私は、ユーザーがそれぞれのビデオを購入したかどうかを確認するために、テーブルをループいくつかのコードを記述しようとしています各商品ページで

。そうであればビデオを表示し、そうでない場合はテキストを表示します。

私のロジックは少しオフになっている、または私はあまりやっているが、私はコーデックスでthe exampleに従うことをしようとしています。今すぐ下のコードでは、私はそれを購入したので、そのページのビデオを表示しますが、私はそれが表示されませんelseテキスト;私は6-9のビデオを持っていますので、このコードをより効率的にすることができれば、どのようにして学ぶのが大好きです。ありがとう。ここに私のコードは次のとおりです。

global $wpdb; 
$user_id = get_current_user_id(); 

$results = $wpdb->get_results("SELECT * FROM awdwp_webinar_orders WHERE user_id=" . $user_id . ""); 

if ($results) { 
    foreach($results as $result) { 
     $loop_uid = $result->user_id; 
     $loop_pid = $result->product_id;?> 

     if (is_product(991) && $loop_uid == $user_id && $loop_pid == 991) { 
      echo '<h2>' . get_the_title($id) . '<h2>'; 
      $the_video = get_field('video_file'); 
      //display video code 
     } //end if 
    } //end foreach 
} else { 
    echo "please purchase"; 
} 

答えて

0
global $wpdb; 
$user_id = get_current_user_id(); 

$results = $wpdb->get_results("SELECT * FROM awdwp_webinar_orders WHERE user_id=" . $user_id . ""); 

if ($results) { 
    foreach($results as $result) { 
     $loop_uid = $result->user_id; 
     $loop_pid = $result->product_id;?> 

     if (is_product(991) && $loop_uid == $user_id && $loop_pid == 991) { 
      echo '<h2>' . get_the_title($id) . '<h2>'; 
      $the_video = get_field('video_file'); 
      //display video code 
     }else{ 
      echo "please purchase"; 
     }//end if 
    } //end foreach 
} else { 
    echo "please purchase"; 
} 
+0

これは、if文と一致していないテーブルの各エントリのための*購入*が表示されます。今は2つの購入(商品ID = 1017,991)があり、購入*と動画ファイルが表示されます。 – VCP

0

はこのようにそれを解決:

global $product; 
global $wpdb; 
$id = $product->id; 
$user_id = get_current_user_id(); 

$results = $wpdb->get_results("SELECT * FROM awdwp_webinar_orders WHERE product_id=" . $id . ""); 

if ($results) { 
    foreach($results as $result) { 
     $loop_uid = $result->user_id; 
     $loop_pid = $result->product_id; 

     if (is_product(991) && $loop_uid == $user_id) { 
      //code 
     } else {} 
    } 
}