Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подсчитать и вытащить поля. 
V
    Опции темы
Predator199
  Дата 29.11.2012, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 412
Регистрация: 1.2.2012

Репутация: -3
Всего: -4



Вообщем пытаюсь сделать вывод записей из бд и подсчитать их количество, через 1 запрос. Как не пробовал подсчитать, не получается вывести все записи. Можно ли это сделать через 1 запрос?
PM MAIL   Вверх
Guedda
Дата 29.11.2012, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Код

SELECT COUNT(table_name.*) AS cnt, table_name.* FROM `table_name` WHERE `cell_1` = "1";


Это сообщение отредактировал(а) Guedda - 29.11.2012, 16:03


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
baldina
Дата 29.11.2012, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Код

select count(*), field1, ... fieldN from table

?
PM MAIL   Вверх
Predator199
  Дата 29.11.2012, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 412
Регистрация: 1.2.2012

Репутация: -3
Всего: -4



baldina Я так пробовал, количество подсчитает и выведет содержание полей 1 записи. Я пытаюсь получить массив с записями где будит еще подсчет строк.
Ничего не пойму, можно ли сделать постраничную навигацию и вывести контент через 1 запрос. Такое возможно?

Это сообщение отредактировал(а) Predator199 - 29.11.2012, 17:11
PM MAIL   Вверх
skyboy
Дата 29.11.2012, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Predator199, "сделать постраничную навигацию" и "вывести все записи" слабо стыкуется.
что ж это за страничная навигация, когда все записи выведены на одной-единственной странице?
PM MAIL   Вверх
baldina
Дата 29.11.2012, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



для постраничного вывода неплохо заранее знать число строк - это запрос select count(*)
для данных каждой страницы - отдельный запрос с limit
PM MAIL   Вверх
Predator199
  Дата 29.11.2012, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 412
Регистрация: 1.2.2012

Репутация: -3
Всего: -4



Немного не то имел. У меня все работает через 2 запроса. Я просто хочу сделать через 1. Мне нужно из одной таблицы достать все данные и в тоже время подсч... А понял, так не возможно сделать, сортировка и лимит. Не стыкуется,  придется 2 пользоваться. Спс.

Это сообщение отредактировал(а) Predator199 - 29.11.2012, 17:20
PM MAIL   Вверх
baldina
Дата 29.11.2012, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Можно и одним запросом, но плохо: тогда придется при каждом запросе тащить все записи и уже на php анализировать и выбирать.
Двумя лучше
PM MAIL   Вверх
Guedda
Дата 30.11.2012, 06:52 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



По твоим последним вопросам и темам мне кажется, что ты яро пытаешься оптимизировать свой код. Но задаешь вопросы неправильно, и, в конце концов, ты не оптимизируешь, а пессимизируешь его.
Допустим, в данном вопросе, 2 запроса отработают быстрее, чем один запрос с кучей непонятностей.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
baldina
Дата 30.11.2012, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



поддерживаю

Predator199, если это действительно попытка оптимизации, то она преждевременна
Если это попытка улучшить проектное решение, то она неудачна, т.к. нарушает принцип "одна задача - одна функция". Т.е. вы неправильно провели декомпозицию своей задачи: здесь две подзадачи - получить число записей и получить записи для отображения.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0527 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.