如何获得查询以显示两个结果?
问题描述:
这是我的查询语句如何获得查询以显示两个结果?
$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> ";
}
}
}
这只是对不参议员显示代表。如果我删除有关查询中代表的部分,那么它会显示参议员。
答
你如何绑定你的参数?我想知道是否两次使用同一个名字会让某些事情变得糟糕(尽管它不应该)。如果删除代表显示参议员,那么也许这样的事情会工作:
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'))
祝你好运。
你的代码为什么缩进*随机*?缩进非常重要,它具有强大的语义含义,如果您希望其他人阅读您的代码并为您提供帮助,则应该花时间做正确的事情。 – meagar 2013-02-11 22:29:09
结果集中所选列和字段名称之间似乎存在断开连接。在后面的代码中,列member_title与'moc_title'。除非你没有展示代码中的某些翻译,否则我很惊讶这个作品。 – Jerry 2013-02-11 22:37:13
我建议你使用'$ moc_query'来验证你的绑定值是否正确。 (你不显示那部分代码。)另外,查询返回的列名与'$ moc'的索引值不匹配。 (同样,你不会显示你的代码的一部分。)我们不知道$ reps或$ senators的内容在哪里输出到页面。 (而且你也不会显示你的代码部分。) – spencer7593 2013-02-11 22:43:08