搜尋排序問題

來源:互聯網
上載者:User
交友網站搜尋會員怎樣使沒形象照的會員排在有形象照會員後面.在最後面我加上了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 < $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( )

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.