如何获得查询以显示两个结果?

问题描述:

这是我的查询语句如何获得查询以显示两个结果?

$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

你如何绑定你的参数?我想知道是否两次使用同一个名字会让某些事情变得糟糕(尽管它不应该)。如果删除代表显示参议员,那么也许这样的事情会工作:

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