2017-11-24 1 views
-1

私は解決策を見つけることができないように思える問題がある。php複数のquerys中に中に

私は現在、現在のユーザーが作業している管理用ダッシュボードに表示できるプラグインを作成しています。そのためには2つのクエリが必要ですが、何らかの理由で2つ目のクエリをクエリするときにサイトが機能しなくなります。

私は3つのテーブル

wp_posts(POST_NAMEとID)

wp_cpm_user_role(PROJECT_IDとUSER_ID)

wp_users(IDとlogin_login)

ました:

wp_posts.ID = wp_cpm_user_role.project_id 

そして:これまで

wp_cpm_user_role.user_id 0 wp_users.ID 

私のコード

Function assigned_projects(){ 
//database information 
$current_user = wp_get_current_user(); 
    $servername = "localhost"; 
    $username = "root"; 
    $password = "Password1"; 
    $dbname = "wordpress"; 

    //Create connection 
    $conn = new mysqli($servername, $username, $password, $dbname); 

    if ($mysqli->connect_errno) 
    { 
      printf("Connect failed: %s\n", $mysqli->connect_error); 
      exit(); 
    } 

//First query 
    $sql = "SELECT wp_posts.post_name, wp_posts.ID 
FROM wordpress.wp_posts 
INNER JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id 
WHERE post_type = 'cpm_project' AND meta_key = '_project_active' AND meta_value = 'yes'"; 
$result = $conn->query($sql); 

//get login name on current user 
    $user = $current_user->user_login; 

    //prepare table for presentation 
      echo '<table class="HOTtable">'; 
      echo '<tr>'; 
      echo '<td class="tdcenter">Project name<hr></td>'; 
      echo '<td class="tdright">Quick link<hr></td>'; 
      echo '</tr>'; 

    if ($result->num_rows > 0) 
    { 
      //output data of each row 
      while($row = $result->fetch_assoc()) 
      { 
        $name = $row["post_name"]; 
        $ID = $row["ID"]; 

     //create a direct link to the project url 
        $url = "https://localhost/wp-admin/admin.php?page=cpm_projects&tab=project&action=overview&pid=" . $ID; 

     //second query to match users with projects 
        $sql1 = "SELECT wp_cpm_user_role.user_id, wp_cpm_user_role.project_id, wp_users.user_login FROM wordpress.wp_cpm_user_role INNER JOIN wp_users ON wp_cpm_user_role.user_id = wp_users.ID WHERE wp_cpm_user_role.project_id =" . $ID; 
        $result1 = $conn->query($sql1); 

        while($row1 = $result1->fetch_assoc()) 
        { 
          if ($user == $row1["user_login"] AND $ID == $row1["project_id"]) 
          { 
            echo '<tr>'; 
            echo '<td class="tdcenter">' . $name . '<hr></td>'; 
            echo '<td class="tdright"><a href=' . $url . '>I am the link</a><hr></td>'; 
            echo '</tr>'; 
          } 
        } 
      } 
    } 
    echo '</table>'; 
    $conn->close; 
} 
+0

2番目のクエリを通過するソースコードですか?あなたはMySQLのエラーログを見ましたか? – iquellis

+0

echo $ sql1を試してみてください。 PHPMyAdminで実行してエラーがあるかどうかを確認します –

答えて

-1

...私は私のコードを削除し、私のオリジナルのポストからコードをコピーしてみました、それが動作するようになりました

コーディングが混乱します。しかし、あなたの時間をとっていただきありがとうございます:)

関連する問題