• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

搜索排序问题

php 搞代码 3年前 (2022-01-23) 21次浏览 已收录 0个评论
文章目录[隐藏]

交友网站搜索会员怎样使没形象照的会员排在有形象照会员后面.在最后面我加上了order by avatarflag desc语句.搜索时报错:Parse error: syntax error, unexpected T_STRING, expecting ‘)’ in E:\PHPnow-1.5.6\htdocs\source\service\index\service.user.php on line 147
报错行就是最后一行:order by avatarflag desc.谁能帮忙看下上面的错在哪? 搜索代码如下:
public function validSearch( )
{
$args = array( );
$countwhere = “”;
$s_searchtype = XRequest::getargs( “s_searchtype” );
$s_sex = XRequest::getint( “s_sex” );
$s_sage = XRequest::getint( “s_sage” );
$s_eage = XRequest::getint( “s_eage” );
$s_dist1 = XRequest::getint( “s_dist1” );
$s_dist2 = XRequest::getint( “s_dist2” );
$s_dist3 = XRequest::getint( “s_dist3” );
$s_lovesort = XRequest::getint( “s_lovesort” );
$s_sheight = XRequest::getint( “s_sheight” );
$s_eheight = XRequest::getint( “s_eheight” );
$s_ssalary = XRequest::getint( “s_ssalary” );
$s_esalary = XRequest::getint( “s_esalary” );
$s_sedu = XRequest::getint( “s_sedu” );
$s_eedu = XRequest::getint( “s_eedu” );
if ( $s_searchtype == “adv” )
{
$s_marry = XRequest::getcomints( “s_marry” );
$s_havechild = XRequest::getcomints( “s_havechild” );
}
else
{
本#文来源gaodai$ma#com搞$$代**码网$$s_marry = XRequest::getargs( “s_marry” );
$s_havechild = XRequest::getargs( “s_havechild” );
}
$s_house = XRequest::getint( “s_house” );
$s_car = XRequest::getint( “s_car” );
$s_avatar = XRequest::getint( “s_avatar” );
$args = array(
“s_sex” => $s_sex,
“s_sage” => $s_sage,
“s_eage” => $s_eage,
“s_dist1” => $s_dist1,
“s_dist2” => $s_dist2,
“s_dist3” => $s_dist3,
“s_lovesort” => $s_lovesort,
“s_sheight” => $s_sheight,
“s_eheight” => $s_eheight,
“s_ssalary” => $s_ssalary,
“s_esalary” => $s_esalary,
“s_sedu” => $s_sedu,
“s_eedu” => $s_eedu,
“s_marry” => $s_marry,
“s_havechild” => $s_havechild,
“s_house” => $s_house,
“s_car” => $s_car,
“s_avatar” => $s_avatar
);
$sql = “”;
if ( 0 < $s_sex )
{
$sql .= ” AND v.gender='”.$s_sex.”‘”;
$countwhere .= ” AND ps.gender='”.$s_sex.”‘”;
}
if ( 0 < $s_sage && 0 < $s_eage )
{
$year = date( “Y”, time( ) );
$sageline = $year – $s_eage;
$eageline = $year – $s_sage;
$sql .= ” AND p.ageyear >= “.$sageline.” AND p.ageyear <= {$eageline}";
$countwhere .= ” AND ps.ageyear >= “.$sageline.” AND ps.ageyear <= {$eageline}";
}
if ( 0 < $s_dist1 )
{
$sql .= ” AND p.provinceid='”.$s_dist1.”‘”;
$countwhere .= ” AND ps.provinceid='”.$s_dist1.”‘”;
}
if ( 0 < $s_dist2 )
{
$sql .= ” AND p.cityid='”.$s_dist2.”‘”;
$countwhere .= ” AND ps.cityid='”.$s_dist2.”‘”;
}
if ( 0 < $s_dist3 )
{
$sql .= ” AND p.distid='”.$s_dist3.”‘”;
$countwhere .= ” AND ps.distid='”.$s_dist3.”‘”;
}
if ( 0 < $s_lovesort )
{
$sql .= ” AND p.lovesort='”.$s_lovesort.”‘”;
$countwhere .= ” AND ps.lovesort='”.$s_lovesort.”‘”;
}
if ( 0 < $s_sheight && 0 < $s_eheight )
{
$sql .= ” AND p.height >= “.$s_sheight.” AND p.height <= {$s_eheight}";
$countwhere .= ” AND ps.height >= “.$s_sheight.” AND ps.height <= {$s_eheight}";
}
if ( 0 < $s_ssalary && 0 < $s_esalary )
{
$sql .= ” AND p.salary >= “.$s_ssalary.” AND p.salary <= {$s_esalary}";
$countwhere .= ” AND ps.salary >= “.$s_ssalary.” AND ps.salary <= {$s_esalary}";
}
if ( 0 < $s_sedu && 0 < $s_eedu )
{
$sql .= ” AND p.education >= “.$s_sedu.” AND p.education <= {$s_eedu}";
$countwhere .= ” AND ps.education >= “.$s_sedu.” AND ps.education <= {$s_eedu}";
}
if ( TRUE === XValid::iscomchar( $s_marry ) )
{
$sql .= ” AND p.marrystatus IN (“.$s_marry.”)”;
$countwhere .= ” AND ps.marry IN (“.$s_marry.”)”;
}
if ( TRUE === XValid::iscomchar( $s_havechild ) )
{
$sql .= ” AND p.childrenstatus IN (“.$s_havechild.”)”;
$countwhere .= ” AND ps.child IN (“.$s_havechild.”)”;
}
if ( 0 < $s_house )
{
$sql .= ” AND p.housing='”.$s_house.”‘”;
$countwhere .= ” AND ps.house='”.$s_house.”‘”;
}
if ( 0 < $s_car )
{
$sql .= ” AND p.caring='”.$s_car.”‘”;
$countwhere .= ” AND ps.car='”.$s_car.”‘”;
}
if ( $s_avatar == 1 )
{
$sql .= ” AND v.avatar != ” AND v.avatarflag = ‘1’”;
$countwhere .= ” AND ps.avatar=’1′”;
}

return array(
$sql,
$countwhere,
$args
order by avatarflag desc
);

}

回复讨论(解决方案)

代码调试中检查一下实际的SQL语句是什么。

if ( $s_avatar == 1 )
{
$sql .= ” AND v.avatar != ” AND v.avatarflag = ‘1’”;
$countwhere .= ” AND ps.avatar=’1′”;
}

只有这个条件满足的时候,才有avatarflag
order by avatarflag , 是不是要加上别名:v.

最好把完整的sql语句打出来,看看就知道了。

帮忙看下这个程序哪里错了.网站运行时报错:Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting T_STRING or T_VARIABLE or ‘$’ in E:\PHPnow-1.5.6\htdocs\source\action\index\action.user.php on line 51
第51行代码是unset (“service”) ;
代码如下:
private function _unset( )
{
unset (“service”) ;
}

private function _getListItems( )


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:搜索排序问题
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址