- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
и так в таблице lot есть поле tovar_cat
поле имеет например 10 значений platye и одно значение tovar
Пробую посчитать значения platye отдает 0 а надо получить количество этих значений
Подскажите где ошибка?
А если вместь platye подставить tovar?
Попробуйте выполнить этот запрос в phpmyadmin, может где в названии категории ошиблись
Покажите - что выдаёт SELECT DISTINCT tovar_cat FROM lot;
Есть ли там вообще такая категория?
Покажите - что выдаёт SELECT DISTINCT tovar_cat FROM lot;
Есть ли там вообще такая категория?
$q="SELECT DISTINCT tovar_cat FROM lot";
$res=mysql_query($q);
$row=mysql_fetch_row($res);
echo $total_rows=$row[0];
отlает nabor
Там еще есть много других значений.
Вот мне надо чтоб посчитать не все
Все считаю так
получаю 3500
но 3500 это общее число всех значений . А мне надо только по конкретному условию
Допустим имеем nabor повторяется 10 раз.
значит надо чтоб where отдал 10
имеем musa 20 значит при запросе
WHERE tovar_cat='musa'
получить число повторений тоесть значение 20.
А вот как сделать не пойму.
? :)
? :)
То что надо Спасибо Огромное.
? :)
Не очень хорошее решение - а если там очень много записей?
ТС - чтобы вывести - сколько всего и где -
$query = "SELECT COUNT(*), tovar_cat FROM lot GROUP BY tovar_cat";
$res = mysql_query($query);
while($row = mysql_fetch_row($res)){
echo $row[0]." записей в категории ".$row[1]."<br>";
}
Первый запрос у вас верен - проверьте - есть ли там такая категория в целом.
То есть безошибочно есть - SELECT COUNT(*) from lot WHERE tovar_cat='nabor';
Безошибочно, судя по всему, нет - platye
:)
Не очень хорошее решение - а если там очень много записей?
$query = "SELECT COUNT(*), tovar_cat FROM lot GROUP BY tovar_cat";
$res = mysql_query($query);
while($row = mysql_fetch_row($res)){
echo $row[0]." записей в категории ".$row[1]."<br>";
}
Хех, как Вы политкорректно заменили "глупости" :)
Возможно, я не достаточно хорошо разбираюсь в mysql, но чем плоха функция аффектед_роуз()?
Не очень хорошее решение - а если там очень много записей?
ТС - чтобы вывести - сколько всего и где -
$query = "SELECT COUNT(*), tovar_cat FROM lot GROUP BY tovar_cat";
$res = mysql_query($query);
while($row = mysql_fetch_row($res)){
echo $row[0]." записей в категории ".$row[1]."<br>";
}
Первый запрос у вас верен - проверьте - есть ли там такая категория в целом.
То есть безошибочно есть - SELECT COUNT(*) from lot WHERE tovar_cat='nabor';
Безошибочно, судя по всему, нет - platye
:)
Ваш код выдает также что нужно
1 записей в категории nabor
2311 записей в категории platie
Ваш код выдает также что нужно
1 записей в категории nabor
2311 записей в категории platie
А вы сами и ответили на вопрос, судя по всему - у вас ошибка в первом топике - в запросе - platye != platie :)
jumash добавил 24.05.2009 в 13:14
Хех, как Вы политкорректно заменили "глупости" :)
Возможно, я не достаточно хорошо разбираюсь в mysql, но чем плоха функция аффектед_роуз()?
Функция волшебна, несомненно
Но вот незадача
mysql_affected_rows() не работает с SELECT -- только с запросами, модифицирующими таблицу. Чтобы получить количество рядов, возвращённых SELECT-запросом, используйте функцию mysql_num_rows().
Проверять лениво - допускается ли с SELECT - но я собственно не поэтому заменил "глупости" - у вас пример хороший, но недоточен. Например, если в таблице будет к примеру 1kk записей - скрипт рискует повесить сервер. Поэтому более красивое в этом случае решение - это использовать SQL_CALC_FOUND_ROWS.
То есть - SELECT SQL_CALC_FOUND_ROWS * FROM lot WHERE ... LIMIT 1;
запрос который выведет количество выбранных рядов -
SELECT FOUND_ROWS();
как-то так - путано, но понятно
Спасибо всем за Вашу помощь. Мн главное получить значения далее я думаю смогу разобраться..
И еще вопрос такой.
Есть у меня пагинатор. Вывводит все страницы на сайте.
Как мне сделать допустим чтоб пагинатор показывал на главной все страницы.
В категории свои страницы?
Я сделал для категории свой пагинатор чтоб проще было. :D
тоесть в категории например про вино есть 100 статей
на страницу вводиться 10 статей
в итоге пагинатор имеет значения 12345678910
Нормально ли это?