Ограничение значений постов PHP, предложения, необходимые для ограничения моих постов - PullRequest
0 голосов
/ 16 декабря 2011

Я создаю страницу для php / mysql eshop, в которой я отображаю список всех продуктов с текстовым полем для цены [], еще один для special_offer_price [] и флажок (домашняя страница []) рядом с каждым, чтобы выбрать продукты для отображения на главной странице. Эта страница предназначена для пакетного обновления цен, чтобы владелец магазина мог обновлять цены на все товары, используя одну страницу вместо того, чтобы переходить к каждому товару по одному.

Проблема в том, что в магазине около 500 товаров, поэтому я публикую 500x4 = 2000 записей на странице, которая обновляет товары. Мой лимит PHP для постов составляет 1000 значений, есть ли лучший способ ограничить количество постов?

Ответы [ 3 ]

1 голос
/ 16 декабря 2011

Что касается использования JavaScript для отправки только измененных данных:

Шаг 1: выдать исходные значения

<input type="hidden" id="price1_original" value="3.5" />
<input type="text" id="price1" class="price" value="3.5" />

Шаг 2: в обработчике отправки формы выберите только измененные

changed = $('.price').filter(function() {
  var original = $('#' + this.id + '_original').val();
  return this.val() != original;
});

Шаг 3: подготовить и отправить запрос AJAX

$.post('/change_price.php', {prices : data}, function(response) {
  // handle response
});

Шаг 4: ПРИБЫЛЬ! : -)

UPD: еще одним решением было бы отправить изменения сразу, когда пользователь изменил значение и переместил фокус в другое место.

$('.price').change(function() {
  // validate input
  // post this single price change to server
});
0 голосов
/ 16 декабря 2011

Если вам действительно нужно показать все продукты одновременно, вы можете создавать входы динамически при необходимости через javascript.Например, ваши данные могут быть показаны в <div>, к которому прикреплен обработчик кликов;и когда пользователь щелкает этот div, div преобразуется во ввод.Таким образом, вам нужно будет только передать те поля, которые были изменены!И вы можете посчитать, сколько входов есть, и ограничить это число вашим лимитом постов PHP ...

0 голосов
/ 16 декабря 2011

Обычно плохая идея отображать все записи на одной странице.Разбейте этот список товаров на страницах и отобразите (например) до 50 товаров на странице.Обеспечьте навигацию к первой / предыдущей / следующей / последней странице и т. Д.

Вы можете объединить это с фильтрацией текста.

Таким образом, вы получите предсказуемую производительность и поведение системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...