0

最新の行を出力しようとしていますが、重複は表示されません。私のテーブルには、複数に割り当てることができる一意の ID (note_id) と issue_id (note_ids) があります。このように、すべてのエントリは一意ですが、共通の問題に関連付けることができます。

これが私のコードです:

$issueSelect = "SELECT DISTINCT issue_id FROM notes WHERE assigned = '$loginID' ORDER BY note_id ASC";
    $issueQuery = mysql_query($issueSelect);

次に、while ループに出力ステートメントがあります。

while ($issueResult = mysql_fetch_assoc($issueQuery)){
$issueID = $issueResult['issue_id'];
$issue = $issueResult['issue'];
      if ($issue == "open" or $issue == "assigned"){
                echo"<td align='right'><a href=\"note_details.php?note_click=$issueID\">$issueID</td>";

}

なんらかの理由で、何も得られません... SELECT *show stuff を置くだけですが、重複が含まれています(これは望ましくありません)。

これが機能しない理由である可能性がある、私が見逃しているものはありますか?

4

4 に答える 4

1

それで、あなたは と の複合キーを使用していますnote_idissue_id?関数を使用してみてくださいGROUP BY

SELECT `issue_id`, `issue` FROM `notes` WHERE `assigned` = '$loginID' GROUP BY `note_id`, `issue_id` ORDER BY `note_id` ASC;

また、mysql_*現在は推奨されていないため、実際には使用しないでください。PDO と を検索しmysqliます。

于 2012-11-26T23:07:37.457 に答える
0

$issueであるため、何も得られませんnullgroup by issue_idの代わりに使用できる場合がありますがdistinct、これは非標準であり、インストールに基づいて機能する場合と機能しない場合があります。

うまくいかない場合は、使用select *して、PHP で重複をフィルタリングすることをお勧めします。

于 2012-11-26T23:05:40.160 に答える
0

元のクエリは次のとおりです。

SELECT DISTINCT issue_id FROM notes WHERE assigned = '$loginID' ORDER BY note_id ASC

ORDER BY 句のため、これにより複数の行が生成されたと思います。select-list を で暗黙的に拡張しnote_id、次に並べ替えてから射影しnote_idますが、1 つの問題に対して複数のメモがあるため、DISTINCT にもかかわらず、1 つの問題に対して複数の行が返されます (DISTINCT が行われるため)。 ORDER BY の前)。

于 2012-11-27T00:20:01.843 に答える
0

実際に課題フィールドを選択する必要がありました (表示したい他のフィールドの中で...ここで私がしたことは次のとおりです:

$issueSelect = "SELECT DISTINCT issue_id, issue, reason, customer_id, order_id, return_id, author_id FROM notes WHERE assigned = '$loginID' ORDER BY note_id ASC";
    $issueQuery = mysql_query($issueSelect);
    while ($issueResult = mysql_fetch_assoc($issueQuery)){
$issueID = $issueResult['issue_id'];
        $issue = $issueResult['issue'];
        $assigned = $issueResult['assigned'];
        $openDate = $issueResult['date'];
        $closeDate = $issueResult['close_date'];
        $orderID = $issueResult['order_id'];
        $returnID = $issueResult['return_id'];
        $customerID = $issueResult['customer_id'];
        $authorID = $issueResult['author_id'];
        $reason = $issueResult['reason'];
}

助けてくれてありがとう...そして私はPODとMySQLiを調べます

于 2012-11-27T00:04:23.380 に答える