ホームページ  >  記事  >  バックエンド開発  >  %t WHERE 1 %i の %t と %i はどのように制御されますか?

%t WHERE 1 %i の %t と %i はどのように制御されますか?

WBOY
WBOYオリジナル
2016-06-13 12:08:561133ブラウズ

%t WHERE 1 %i の %t と %i はどのように制御されますか? 。
次のコードは、%t と %i の出力結果を制御する方法です。 。 ?

<br />public function fetch_all_by_search($tableid, $tid = null, $keywords = null, $invisible = null, $fid = null, $authorid = null, $author = null, $starttime = null, $endtime = null, $useip = null, $first = null, $start = null, $limit = null) {<br />		$sql = '';<br />		$sql .= $tid ? ' AND '.DB::field('tid', $tid) : '';<br />		$sql .= $authorid ? ' AND '.DB::field('authorid', $authorid) : '';<br />		$sql .= $invisible !== null ? ' AND '.DB::field('invisible', $invisible) : '';<br />		$sql .= $first !== null ? ' AND '.DB::field('first', $first) : '';<br />		$sql .= $fid ? ' AND '.DB::field('fid', $fid) : '';<br />		$sql .= $author ? ' AND '.DB::field('author', $author) : '';<br />		$sql .= $starttime ? ' AND '.DB::field('dateline', $starttime, '>=') : '';<br />		$sql .= $endtime ? ' AND '.DB::field('dateline', $endtime, '<') : '';<br />		$sql .= $useip ? ' AND '.DB::field('useip', $useip, 'like') : '';<br />		if(trim($keywords)) {<br />			$sqlkeywords = $or = '';<br />			foreach(explode(',', str_replace(' ', '', $keywords)) as $keyword) {<br />				$keyword = addslashes($keyword);<br />				$sqlkeywords .= " $or message LIKE '%$keyword%'";<br />				$or = 'OR';<br />			}<br />			$sql .= " AND ($sqlkeywords)";<br />		}<br />		if($sql) {<br />			return DB::fetch_all('SELECT * FROM %t WHERE 1 %i ORDER BY dateline DESC %i', array(self::get_tablename($tableid), $sql, DB::limit($start, $limit)));<br />		} else {<br />			return array();<br />		}<br />	}<br />

-----ソリューションのアイデア----------------------
次に DB::fetch_all の定義を見てみましょう

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。