Heim > Backend-Entwicklung > PHP-Tutorial > 搜索排序问题

搜索排序问题

WBOY
Freigeben: 2016-06-23 14:38:58
Original
989 Leute haben es durchsucht

交友网站搜索会员怎样使没形象照的会员排在有形象照会员后面.在最后面我加上了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
{
$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  {
$sql .= " AND v.gender='".$s_sex."'";
$countwhere .= " AND ps.gender='".$s_sex."'";
}
if ( 0  {
$year = date( "Y", time( ) );
$sageline = $year - $s_eage;
$eageline = $year - $s_sage;
$sql .= " AND p.ageyear >= ".$sageline." AND p.ageyear  $countwhere .= " AND ps.ageyear >= ".$sageline." AND ps.ageyear  }
if ( 0  {
$sql .= " AND p.provinceid='".$s_dist1."'";
$countwhere .= " AND ps.provinceid='".$s_dist1."'";
}
if ( 0  {
$sql .= " AND p.cityid='".$s_dist2."'";
$countwhere .= " AND ps.cityid='".$s_dist2."'";
}
if ( 0  {
$sql .= " AND p.distid='".$s_dist3."'";
$countwhere .= " AND ps.distid='".$s_dist3."'";
}
if ( 0  {
$sql .= " AND p.lovesort='".$s_lovesort."'";
$countwhere .= " AND ps.lovesort='".$s_lovesort."'";
}
if ( 0  {
$sql .= " AND p.height >= ".$s_sheight." AND p.height  $countwhere .= " AND ps.height >= ".$s_sheight." AND ps.height  }
if ( 0  {
$sql .= " AND p.salary >= ".$s_ssalary." AND p.salary  $countwhere .= " AND ps.salary >= ".$s_ssalary." AND ps.salary  }
if ( 0  {
$sql .= " AND p.education >= ".$s_sedu." AND p.education  $countwhere .= " AND ps.education >= ".$s_sedu." AND ps.education  }
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  {
$sql .= " AND p.housing='".$s_house."'";
$countwhere .= " AND ps.house='".$s_house."'";
}
if ( 0  {
$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( ) 

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage