/**
* Получение номера страницы (для MySQL >=4.1).
* @param string $table Название таблицы
* @param string $where Условие WHERE
* @param integer $record_id ID записи, для которой надо узнать номер страницы
* @param integer $limit Количество записей на страницу
* @param string $id_field Ключевое поле
* @return integer
*/
function get_page($table, $where, $record_id, $limit = 1, $id_field = 'id')
{
$result = mysql_query("SET @cnt = 0;");
$sql = "select CEILING(row_num / '".$limit."') as page, row_num from (
SELECT @cnt := @cnt + 1 AS row_num, ".$table.".".$id_field." as id FROM ".$table." ".$where."
) as tb where id='".$record_id."'";
$result = mysql_query($sql);
$record = mysql_fetch_assoc($result);
return $record['page'];
}//\\get_page
/**
* Получение номера страницы (для MySQL <4.1).
* @param string $table Название таблицы
* @param string $where Условие WHERE
* @param integer $record_id ID записи, для которой надо узнать номер страницы
* @param integer $limit Количество записей на страницу
* @param string $id_field Ключевое поле
* @return integer
*/
function get_page($table, $where, $record_id, $limit = 1,
{
$result = mysql_query("SET @cnt = 0;");
$sql = "SELECT @cnt := @cnt + 1 AS row_num, ".$table.".".$id_field." as id FROM ".$table." ".$where;
$result = mysql_query($sql);
$rows = mysql_num_rows($result);
for ($i = 0; $i < $rows; $i++)
{
$record = mysql_fetch_assoc($result);
if ($record['id'] == $record_id)
{
return ceil($record['row_num'] / $limit);
}
}
}//\\get_page