• R/O
  • SSH
  • HTTPS

jeanscms: コミット


コミットメタ情報

リビジョン330 (tree)
日時2013-04-17 07:45:20
作者kmorimatsu

ログメッセージ

Correct item number counting routine.

変更サマリ

差分

--- jeanscms/trunk/jeans/libs/jeans.php (revision 329)
+++ jeanscms/trunk/jeans/libs/jeans.php (revision 330)
@@ -763,9 +763,10 @@
763763 return $obj;
764764 }
765765 static public function count_query($query,$data=false){
766- $query=preg_replace('/^([^\'^"`]|\'[^\']*\'|"[^"]*"|`[^`]*`)+?\sFROM\s/i','SELECT COUNT(*) as result FROM ',$query);
766+ $query=preg_replace('/^([^\'^"`]|\'[^\']*\'|"[^"]*"|`[^`]*`)+?\sFROM\s/i','',$query);
767+ $query=preg_replace('/^([^\'^"`]*?)\s(NATURAL\s+)?(LEFT\s+|LEFT\s+OUTER\s+|LEFT\s+|LEFT\s+)?JOIN\s([^\'^"`]*?)\sWHERE\s/i','$1 WHERE ',$query);
767768 $query=preg_replace('/\sLIMIT\s([^\'^"`]|\'[^\']*\'|"[^"]*"|`[^`]*`)+?$/i','',$query);
768- $res=sql::query($query,$data);
769+ $res=sql::query('SELECT COUNT(*) as result FROM '.$query,$data);
769770 if (!$res) return false;
770771 $result=0;
771772 while ($row=$res->fetch()) $result+=$row['result'];
旧リポジトリブラウザで表示