ホームページ >バックエンド開発 >PHPチュートリアル >各ページに表示される数字が異なるのはなぜですか?
元々、1ページあたりの表示件数は10件に設定されていましたが、コードの赤い部分を追加したところ、2件表示されるページ、3件表示されるページ、4件表示されるページがあり、ごちゃごちゃしてしまいました。 。 。 。 。 。コード
の赤い部分がなければ通常です。 。 。 。 。 。
$sql = "SELECT ck.chuku_id,ck.status,ck.danhao,ck.type,ck.sq_time,ck.bl_time,sq_user.real_name as sq_realname,bl_user.real_name as bl_realname FROM " を省略します。
$fdyu-> ;table('oa_chuku') . " as ck left join " .
$fdyu->table('oa_chuku_huopin') " として ck_hp on ck.chuku_id=ck_hp.chuku_id left join " . ('oa_huopin') . " hp として ck_hp.huopin_id=hp.huopin_id で結合 " . $fdyu->table('users') " として sq_user として ck.chuku_user_id=sq_user.user_id で結合 " 。 $fdyu->table('users') . " ck.jingban_user_id=bl_user.user_id" として $sql_where
。 。 。 。 。 。 。省略
ディスカッションへの返信(解決策)
基本的にここからは何も見えないので、ページネーションを載せて見ていきます。if($bl_time_start != '')
{ $sql_where .= " および ck.bl_time>=
}
if($bl_time_end != '')
{
$sql_where .= " および ck.bl_time<=" . gmstr2time($bl_time_end)
}
if($danhao != '')
{
$sql_where .= " および ck.danhao のような '%" 。 "%'"; }
if($type != 0)
{
$sql_where .= " 。 $type;
}
if($banzhuren_id != 0)
{
$sql_where .= " および ck.chuku_user_id=" .
}
if($name != '')
{
$ sql_where .= " および hp.name like '%" . "%'";
}
//許可がない場合、ユーザーは自分の倉庫注文のみを表示できます。 ( strpos($_SESSION['action_list'],'oa_churuku_list') === false && strpos($_SESSION['action_list'], 'all') === false){
$sql_qx= and (ck.chuku_user_id = ".$_SESSION['userid']." または ck.jingban_user_id=".$_SESSION['userid']." または ck.check_user_id=".$_SESSION['userid'].") ck.chuku_id で注文desc ";
}else{
$sql_qx=" ck.chuku_id 順に並べる desc";
}
$sql = "SELECT ck.chuku_id,ck.status,ck.danhao,ck.type,ck.sq_time,ck . bl_time,sq_user.real_name as sq_realname,bl_user.real_name as bl_realname FROM " .
$fdyu->table('oa_chuku') . " as ck left join " .
$fdyu->table('oa_chuku_huopin') . " ck_hp で ck.chuku_id=ck_hp.chuku_id が左結合 " . $fdyu->table('oa_huopin') " として hp が ck_hp.huopin_id=hp.huopin_id で結合 " . ( 'users') . " as sq_user on ck.chuku_user_id=sq_user.user_id left join " . $fdyu->table('users') " as bl_user on ck.jingban_user_id=bl_user.user_id" 。 . $sql_qx;
$res = $db->selectLimit($sql, $size, ($page-1) * $size);
$page = !empty($_REQUEST['p']) && intval($_REQUEST['p']) : 1; $count = get_chuku_count($school_id,$bl_time_start,$bl_time_end,$danhao,$type,$banzhuren_id,$name);
$pages = ($count > 0) : 1;
$smarty->assign('count', $count); //レコードの総数
$smarty->assign('pages', $pages); //ページの総数
$smarty-> assign(' chuku_list', get_chuku_list($school_id,$bl_time_start,$bl_time_end,$danhao,$type,$banzhuren_id,$name,$page,$size))
$smarty->assign('pagenavi', get_pagenavi) ($page ,$pages,5));
このうち、get_chuku_list() という関数が私が送ったコードです