Дело поповщины цветёт и пахнет.
Я так сейчас быстро пробегусь по самым самым:
У тебя должен быть всегда на полную катушку взведён уровень ошибок.
(эррор репортинг, ини сет дисплей эррорс)
Нельзя доверять вообще ничему, что присылает клиент.
Если сказано вообще ничему, значит так и есть.
Ты должен проверить всьо!
Если надо в базу слазить -- слазий, но провалидируй.
Посмотри на мой код -- большая часть телодвижений это валидация.
Валидация каждой какашечки присланной клиентом.
Ой, нет, не каждой, но дальнейшая сверка уже зависит от ТЗ, я то только почистил то что понял.
Все ф-ции mysql_* объявлены устаревшими.
Они настолько устарели, что даже старше самого старого мамонта.
Используй PDO или на худой конец mysqli_*
Ты должен четко представлять что ты делаешь.
Я понимаю что ты щас можешь часть финтов происходящих в коде не понять.
Это не важно -- позже поймёшь.
Сейчас пиши так как умеешь.
Пошагово, с запросами в цикле.
Но валидируй данные приходящие от клиента!
Как патологоанатом в перчаточках.
Ах, да! Форматирование кода.
Не надо калякать ака курица лапой.
Ты программу пишешь а не картину.
Иначе тебе к малевичам.
Кароче вот мой ответ засилью поповщины:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- $requiredSize = null;
- // validate
- foreach ($requiredKeys as $key) {
- // check for exists keys
- }
- // check for data type
- }
- // compare sizes of dependency arrays
- if ($requiredSize !== null && $requiredSize != $currentSize) {
- }
- // check items data type
- foreach ($_POST[$key] as $item) {
- }
- $intItem = (int) $item;
- if ($item != $intItem) {
- }
- // store valid item value
- if ($key == 'ID_QT') {
- if ($intItem < 1) {
- }
- $whereIn[] = $intItem;
- } else if ($key == 'QT') {
- if ($intItem < 0) {
- }
- $whenThen[] = $intItem;
- }
- }
- $requiredSize = $currentSize;
- }
- if ($whereIn) {
- // prepare
- foreach ($whenThen as $k => $qt) {
- $whenThen[$k] = 'WHEN ID = ' . $whereIn[$k] . ' THEN ' . $qt;
- }
- // run query (use mysql_query instead exit)
- exit(
- 'UPDATE `PLAN` SET `QUANTITY` = CASE '
- . ' ELSE `QUANTITY` END WHERE ID IN('
- . ');'
- );
- }