下記のコードでは、sprintfにクエリを書いていますが、その中でも一部の行だけifを使って条件分岐で切り替えることができないものかと思いました? もちろん下記のコードでは動きませんが、イメージとしては、このような感じです。
try{
$sql = sprintf('SELECT '
. 'SQL_CALC_FOUND_ROWS %1$s.ID,'
. '%1$s.ID, '
. '%1$s.post_author,'
. '%1$s.post_title, '
. '%1$s.post_date, '
. '%1$s.post_status,'
. '(SELECT %2$s.name FROM %2$s WHERE %1$s.category = %2$s.term_id) AS category , '
. '(SELECT %2$s.name FROM %2$s WHERE %1$s.category_child = %2$s.term_id) AS category_child , '
. '%1$s.post_content , '
. '(SELECT count(%3$s.post_id) FROM %3$s WHERE %1$s.ID = %3$s.post_id) AS b_count, '
. '(SELECT count(%4$s.post_id) FROM %4$s WHERE %1$s.ID = %4$s.post_id) AS l_count, '
. '(SELECT count(%5$s.comment_ID) FROM %5$s WHERE %1$s.ID = %5$s.comment_post_ID) AS c_count '
if(isset($ID)){
. 'FROM %1$s WHERE %1$s.post_author = :post_author AND %1$s.post_status = 2 ORDER BY %1$s.post_date DESC LIMIT %6$s, %7$s', $this->posts, $this->category,$this->bookmark,$this->like,$this->comments,$limit, $offset);
}elseif(isset($ID) AND $ID==$user_id){
. 'FROM %1$s WHERE %1$s.post_author = :post_author AND %1$s.post_status = 3 ORDER BY %1$s.post_date DESC LIMIT %6$s, %7$s', $this->posts, $this->category,$this->bookmark,$this->like,$this->comments,$limit, $offset);
}else{
. 'FROM %1$s WHERE %1$s.post_author = :post_author AND %1$s.post_status = 1 ORDER BY %1$s.post_date DESC LIMIT %6$s, %7$s', $this->posts, $this->category,$this->bookmark,$this->like,$this->comments,$limit, $offset);
}
$stmt = $this->db->prepare($sql);
$stmt->bindValue('post_author', $user_id);
$stmt->execute();
$data['all'] = $stmt->fetchAll();
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
laravelを利用してコントロール...
-
CGI Perlでの認証について
-
<input type="hidden" >で配列...
-
phpで変数を使ってcopyできない
-
phpでのボタン押下の活性・非活...
-
なぜ、unexpected T_VARIABLEに...
-
header location が飛びません。
-
Flaskでサーバー立ち上げに関して
-
フォーム送信後の更新ボタンで...
-
PHPで画像の渡しが上手く行きま...
-
ファイル名を変更してアップロ...
-
画像ボタンをクリックした時の...
-
ドロップダウン、ラジオボタン...
-
検索時の選択内容を保持する方法
-
MySQL+PHPでキーワード検索を...
-
phpで分からないエラーが出てし...
-
POSTやGETの変数をフォーム無し...
-
HTMLで前の画面に戻る時、入力...
-
PHP 入力フォームにあらかじめ...
-
チェックボックスでの送信
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
laravelを利用してコントロール...
-
POSTの値を配列として受け取っ...
-
POSTを使わずに値を渡す方法
-
サーバ上でGETはできるがPOSTが...
-
高高兴兴は高兴と何が違います...
-
アコーディオンPHPが上手くいか...
-
【smarty】予約変数に可変変数
-
CGI Perlでの認証について
-
pythonのhttp.serverでpostされ...
-
大鏡「若き日の道長」の訳
-
php sprintfの中で、ifのような...
-
functionsでどこまで括るのか固...
-
プログラムの複製(VB.net)
-
郵便番号検索
-
RSSと投稿記事を交互に表示させ...
-
データベースの情報をサイトに...
-
淡路島の洲本にレンタカーはあ...
-
jQuery Ajaxで送信先ドキュメン...
-
同じ変数名で値がいくつかある...
-
WordPressでID番号以外でのペー...
おすすめ情報