- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем привет.
Изучаю PHP+MySQL. Естественно, пробую что-то написать. Но вот попал в тупик.
Имеется таблица БД с полями:
-Порядковый номер
-Категория
-Фабрика
-Маленькая картинка
-Большая картинка
-Артикул
-Высота
-Ширина
-Длина
-Вкл/выкл
Задача: чтобы при попадании index.php?category=1&page=1 показывались товары из категории 1 (с этим разобрался) по 10шт на странице. Меню для перехода по страницам в зависимости от кол-ва товара вида 1|2|3 тоже сделал.
Но вот не могу сделать так, чтобы page=1 товары с 1 по 10, page=2 с 11 по 20 и т.д.
Сделал пока так, чтобы показывались все товары:
Кто-нибудь может наставить на путь истинный?
Vit@l, изучите парамерт LIMIT в mysql запросе.
Фактически вам в него надо добавить в конец "..... LIMIT X, Y;"
Где X - это начальная позиция, с которой нужно получить выборку (для первой страницы 0, для второй 10, для третьей 20 и т.д.), а Y - количество элементов (то, сколько нужно отображать на странице).
делайте запрос десяти каких Вам надо строчек и обрабатывайте их полностью
select * from `table` where cat=1 limit 0, 10 - первые 10
select * from `table` where cat=1 limit 10, 20 - от 10 до 20 - для второй странице
Не надо делать запрос всей таблицы а затем хитрыми способоми получать нужные результаты. Это бъёт по производительности.
Огромное Вам
Sveta Prokopeva, немного неверно. Второй параметр - это не до какого номера, а сколько от начального. Т.е. чтобы получить от 10 по 20 включительно - нужно "LIMIT 10,11".
Причем нужно учитывать, что в mysql первая запись идет под позицией ноль.
сталкивался с такой же ситауцией, и готового решения никто не подсказал, но юзание рук и мозгов привело меня к такому результату... вот код, делающий то, что Вы хотите...
код для ленты новостей
Просьба за код не судить - это лишь пример, и я оставил топикстартеру пищу для ума, а сам показал только лишь принцип кодинга в подобной ситуации. (не знаю может можно проще как-то, но серч по сети так не показал).
С этим разобрался. Но теперь не могу понять (уже пол дня сижу) со след штукой.
Сделал страничку редактирования товара (обычная HTML форма). Некоторые товары не обладают некоторыми свойствами, т.е. некоторые поля формы просто не заполняются. Записываем это дело в таблицу и... В поле со значением NULL и значением по умолчанию NULL записывается обычный 0, который мне всю жизнь портит.
Как сделать так, чтобы поле получало св-во NULL?
Буду сильно благодарен.
В свойствах таблицы задать значения по умолчанию. Обрабатывать значения POST-переменных перед записью в базу.
Vit@l, я вам советую идти на специализированные форумы по PHP, там все эти вопросы рассматривались и не раз, и даже не два.
http://www.phpclub.ru - очень качественный ресурс. Отвечают быстро.
Vit@l, просто в БД поставьте чтобы было пустое значение по дефолту и все, никаких нулей не будет...
Ну и не забудьте вставить в конструкцию SELECT оператор SQL_CALC_FOUND_ROWS, чтобы получить общее число записей не ограниченных LIMIT
Пример из собственного рабочего скрипта:
В переменной $TOTAL_SITES содержится общее число записей, не ограниченное конструкцией LIMIT.