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> ";
        }

    }
}

它只显示代表而不是参议员。如果我删除查询中有关代表的部分,那么它确实会显示参议员。

4

1 回答 1

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'))

祝你好运。

于 2013-02-11T22:39:06.823 回答