|
|
|
| Как получить количество записей в базе, и последнее значение одного из полей? | |
|
|
|
|
|
|
|
для: DeeGreeZ
(05.06.2005 в 14:40)
| |
$req = mysql_query("SELECT * FROM table");
$res = mysql_num_rows($req);
echo $res // это кажись и будет кол-во значений в таблице
|
| |
|
|
|
|
|
|
|
для: RV
(05.06.2005 в 14:46)
| | А если база оень большая, то на запрос уйдет немало времени? | |
|
|
|
|
|
|
|
для: DeeGreeZ
(05.06.2005 в 14:40)
| | Для этого удобно воспользоваться встроенной функцией MySQL - COUNT
<?php
// Устанавливаем соединение с базой данных
include "config.php";
// Формируем и выполняем SQL-запрос
$cnt = mysql_query("SELECT COUNT(*) FROM table");
// Проверяем правильность его выполнения
if(!$cnt) exit(mysql_error());
// Получаем результат
$total = mysql_result($cnt,0);
echo $total;
?>
|
В таблицах MyISAM (именно, они используются по умолчанию) это число хранится и постоянно обновляется, поэтому запрос будет направлен на извлечение только одного числа и будет выполнен очень быстро. | |
|
|
|
|
|
|
|
для: cheops
(05.06.2005 в 15:39)
| | Большое спасибо cheops! Вы мне действительно помогли! | |
|
|
|
|
|
|
|
для: DeeGreeZ
(05.06.2005 в 14:40)
| | Последнее значение является максимальным или нет? Если это так, то можно воспользоваться встроенной функцией MAX()
<?php
// Устанавливаем соединение с базой данных
include "config.php";
// Формируем и выполняем SQL-запрос
$cnt = mysql_query("SELECT MAX(id) FROM table");
// Проверяем правильность его выполнения
if(!$cnt) exit(mysql_error());
// Получаем результат
$total = mysql_result($cnt,0);
echo $total;
?>
|
если это не так, то следует ввести дополнительное поле, например DATETIME в которое помещать текущее время при создании записи (встроенная функция MySQL - NOW()) и опередлять последнюю запись по нему. | |
|
|
|