Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Цикличный вывод форм на странице и их обработка
Покинул форум
Сообщений всего: 11
Дата рег-ции: Авг. 2016
Помог: 0 раз(а)
код уже написан ниже, требуется оптимизация
таблица id(строки), id_info(связь с др. табл), id_table, title_table
вначале страницы форм выбор числа прохождения цикла(ид в форме=id_info, num=условие для цикла)
при изначальном переходе генерируется(через цикл) все строки с соответствующим id_info
при написании застрял(2 мес. опыта и знаний достаточных не дали) в выводе в поле value данных из массива бд при возможности генерации нужного(вводимого) числа форм(по отдельности написать могу).
Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014
Помог: 30 раз(а)
Вы сами то поняли что написали? Что нужно конкретно?
Онири
Отправлено: 23 Августа, 2016 - 14:23:59
Новичок
Покинул форум
Сообщений всего: 11
Дата рег-ции: Авг. 2016
Помог: 0 раз(а)
andrewkard пишет:
Вы сами то поняли что написали? Что нужно конкретно?
в 1 цикле{ вывод имеющихся строк из бд + дописать от недостающего до переменной} вывод полей форм в цикле
я уже продумал схему как в 2 цикла это сделать. интересно вообще можно ли подобное в 1 цикле? я совершил ошибку зациклившись только на варианте с 1 циклом, но при 2 циклах name форм можно прописать в 2 массива (для апдет и инсерт отдельно), в случае если пихать в 1 думаю пришлось бы еще с определением наличия строки возиться. Так что меня уже интересует чисто теоретически возможно ли в 1 цикл засунуть. (Добавление)
Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014
Помог: 30 раз(а)
Если они как то сопряжены то можно, т.е. к-во строк как то коррелирует с параметром $num
Совет - не используйте короткие теги, только <?php ?> и <?= ?> плюс переходите на mysqli
Онири
Отправлено: 24 Августа, 2016 - 18:24:48
Новичок
Покинул форум
Сообщений всего: 11
Дата рег-ции: Авг. 2016
Помог: 0 раз(а)
[quote=andrewkard][/quote] когда только встретился sql то mysql понял сразу по сравнению со mysqli (но с того времени у меня заметка понять/изучить mysqli и переписать по новому свои sql запросы)
если в тело цикла засунуть условие которое меняет условие самого цикла... если такое работает то ...
дописал рабочий вариант с 2 циклами.(сколько там костылей от незнания функций php) выкладывать? как раз интересная задачка по оптимизации функциями php будет
можно нумерацию брать из массивов в обработчике тем самым не нужно будет передавать в скрытом поле нумерацию с form.php
еще под вопросом нужно ли так часто проводить подключение и отключение к бд
есть ли идеи/предложения по оптимизации?
Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014
Помог: 30 раз(а)
Онири пишет:
нужно ли так часто проводить подключение и отключение к бд
нет, за время выполнения скрипта один раз подключились и сделали нужные запросы, память очистится после выполнения. Если хотите, можете очистить память так: mysql-free-result
Онири
Отправлено: 18 Сентября, 2016 - 07:07:44
Новичок
Покинул форум
Сообщений всего: 11
Дата рег-ции: Авг. 2016
Помог: 0 раз(а)
переписал с mysql на mysqli. планирую переписать на подготовленные выражения(сомнения по коду есть?)
//вывод информации для проверки наличия строки в бд
// подключение к бд
require"db.php";
//запрос к бд
$uslovie=$mysqli->query("SELECT * FROM `cheats` WHERE
`id_info`='".$id_info."' AND
`id_table`='".$id_table[$j]."' AND
`lang`='".$lan."'
");
//создание массива
$uslov=$uslovie->fetch_array(MYSQLI_BOTH);
/* очищаем результаты выборки */
$uslovie->free();
$mysqli->close();
подготовленные выражения позволяют вынести шаблон sql за цикл, но учесть все тонкости для данного у меня пока невозможно(нехватка знаний и опыта).
Буду рад советам по вынесению шаблонов из циклов
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.