Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для rozmakc
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 74

Заполнение Данных в Бд

18.10.2015, 04:51. Показов 705. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Тему наверно неправильно назвал)
В общем такая ситуация, есть сумма например 10 руб, и в БД есть таблица с банками, у каждого банка свой лимит и сумма на счету, и сумма на сету не может быть больше лимита. Так вот нужно начальную сумму распределить по банкам, если у первого по списку лимит позволяет то все к нему, если нет то часть к нему остальное к следующему и так пока сумма не распределится, ну или лимит если у всех полный то просто exit.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$summa = 10;
$sql = mysql_query("SELECT * FROM bank WHERE status = '1' AND limits > summa ORDER BY status DESC, id DESC LIMIT 1");
if(mysql_num_rows($sql) != 0){
        $banks = mysql_fetch_array($sql);
        $mesto = $banks['limits'] - $banks['summa'];
        $id_bank = $banks['id'];
        if($mesto >= $summa){
            mysql_query("UPDATE bank SET summa = summa + '$summa' WHERE id = '$id_bank'");      
        }else{
            $ost = $summa - $mesto;
            mysql_query("UPDATE bank SET summa = summa + '$ost' WHERE id = '$id_bank'");
            //дальше опять запрос на банки с доступным лимитом если есть, если нет то exit
        }
        
    }
как то так, по идее это должно работать (тем более банков всего 4), но код не нравится, и незнаю как лучше сделать, подскажите что нибудь пожалуйста...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.10.2015, 04:51
Ответы с готовыми решениями:

Заполнение пропущенных данных при условии совпадения данных в соседнем столбце
Здравствуйте! Есть таблица с 60000 записей - соединяли данные из двух книг, в одной проставлены даты рождения, в другой - нет. ФИО в...

Заполнение данных о контрагенте по ИНН(импорт данных с внешенего ресурса)
Есть предприятие, есть клиенты (Вся Россия), необходимо сократить время на набор данных о клиенте (Наименование, Адрес, Инн, КПП, ОГРН,...

Заполнение данных на втором листе при условии совпадения данных на листах в соседних столбцах
Добрый день, уважаемые форумчане! Требуется Ваша помощь. В приложенном файле имеются три столбца: входящий номер, объекты...

5
0 / 0 / 4
Регистрация: 17.10.2015
Сообщений: 15
18.10.2015, 11:22
У вас здесь прямо рай для SQL Injection.
1 - используйте PDO, параметры нужно биндить, а не передавать напрямую.
2 - если PDO не используете, используйте хотя бы mysqli
0
 Аватар для rozmakc
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 74
18.10.2015, 14:08  [ТС]
Конечно спасибо, но я вопрос задал несколько другой, это я пример сделал небольшой...чтобы понять как сделать...
0
 Аватар для rozmakc
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 74
22.10.2015, 22:50  [ТС]
ну что никто не подскажет? или не правильно вопрос поставил?
0
20 / 20 / 12
Регистрация: 27.04.2012
Сообщений: 145
23.10.2015, 03:00
Да в общем-то все нормально, оптимизировать особо некуда. Можно собрать запросы в один, выполнить потом их, но это ничего не даст.

Ну это что касается алгоритма. А по поводу инъекций и остального - да, тут есть что делать.
0
 Аватар для rozmakc
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 74
23.10.2015, 05:54  [ТС]
Да блин каких инъекций, во-первых это пример, во-вторых эта часть кода выполняется без участия пользователя, то есть при загрузке страницы, проверяет данные в БД, если подходит то вставляет (или я чего то не догоняю?).
Получается этот код не оптимизировать? почему то мне казалось что я не правильно сделал и можно проще...
Ну всё равно спасибо, за переживания по части sql
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.10.2015, 05:54
Помогаю со студенческими работами здесь

Заполнение данных
Здравствуйте. Суть вопроса : есть определенная авиакомпания (напр. Ав1) и есть дни ее полетов , как сделать так , чтобы при выборе города...

Заполнение данных в SQLite
Приветствую, ребята! Пытаюсь записать в БД данные: string sql_command = "INSERT INTO MainDataTable('Serial','RandomValue')...

Заполнение базы данных
Привет всем. У меня есть две формы. На базовой форме имеются элементы dataGridView для просмотра некоторой таблицы из базы данных....

Заполнение данных в таблице
Здравствуйте! Очень надеюсь на вашу помощь. Даны 2 таблицы:Контакты посетителей ОЦ Свердловского района (1) и Улицы Свердловского...

Заполнение базы данных
почему данные не заносятся в базу? <? function show_form(){ // подключаем файл с настройками подключения к...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru