2013-02-11 67 views
0

這是我的查詢語句如何獲得查詢以顯示兩個結果?

$moc_query = $database->database_query("SELECT gg_congress_members.id, 
    gg_congress_members.member_fname,gg_congress_members.member_lname, 
    gg_congress_members.member_state,gg_congress_members.member_party, 
    gg_congress_members.member_title 
    FROM 
    gg_congress_members 
    WHERE (member_title = 'Sen' AND member_state='$user_state') 
     OR (member_title = 'Representative' AND 
      member_district = '$user_district' 
      AND member_state='$user_state') ") 
or die(mysql_error()); 

我的代碼:

if ($user_info["user_id"]) 
{ 
    $senators .= "<h2>Your Senators are</h2>"; 
    $senators .= "<ol>"; 

    $reps .= "<h2>Your Congressperson is</h2>"; 
    $reps .= "<ol>"; 

    $rep_count = 0; 
    foreach ($mocs as $moc) 
    { 
     print_r ($mocs); 
     $moc_title = $moc['moc_title']; 
     $moc_fname = $moc['moc_fname']; 
     $moc_lname = $moc['moc_lname']; 
     $moc_party = $moc['moc_party']; 
     $moc_state = $moc['moc_state']; 

     if ($moc['moc_title'] == "Sen") 
     { 
      $senators .= "<li>$moc_fname $moc_lname - $moc_party ($moc_state)</li> ";   
     } 

     if ($moc['moc_title'] == "Representative") 
     { 
      $rep_count++; 
      $reps .= "<li>$moc_fname $moc_lname - $moc_party ($moc_state)</li> "; 
     } 

    } 
} 

這只是對不參議員顯示代表。如果我刪除有關查詢中代表的部分,那麼它會顯示參議員。

+0

你的代碼爲什麼縮進*隨機*?縮進非常重要,它具有強大的語義含義,如果您希望其他人閱讀您的代碼併爲您提供幫助,則應該花時間做正確的事情。 – meagar 2013-02-11 22:29:09

+1

結果集中所選列和字段名稱之間似乎存在斷開連接。在後面的代碼中,列member_title與'moc_title'。除非你沒有展示代碼中的某些翻譯,否則我很驚訝這個作品。 – Jerry 2013-02-11 22:37:13

+0

我建議你使用'$ moc_query'來驗證你的綁定值是否正確。 (你不顯示那部分代碼。)另外,查詢返回的列名與'$ moc'的索引值不匹配。 (同樣,你不會顯示你的代碼的一部分。)我們不知道$ reps或$ senators的內容在哪裏輸出到頁面。 (而且你也不會顯示你的代碼部分。) – spencer7593 2013-02-11 22:43:08

回答

0

你如何綁定你的參數?我想知道是否兩次使用同一個名字會讓某些事情變得糟糕(儘管它不應該)。如果刪除代表顯示參議員,那麼也許這樣的事情會工作:

SELECT gg_congress_members.id, 
    gg_congress_members.member_fname, 
    gg_congress_members.member_lname, 
    gg_congress_members.member_state, 
    gg_congress_members.member_party, 
    gg_congress_members.member_title 
FROM gg_congress_members 
WHERE member_state='$user_state' AND 
    ((member_title = 'Sen') OR 
    (member_title = 'Representative' AND member_district = '$user_district')) 

祝你好運。

+0

我*真的*希望這些值是[正確轉義](http://bobby-tables.com/php)。 – tadman 2013-02-11 22:46:26

+0

@tadman - 是的,有點跑盲點,直到OP發佈額外的代碼... – sgeddes 2013-02-11 22:48:05