Неудивительно, что появляется неопределенная ошибка индекса массива, поскольку вы отключили вход dept_id
. Чтобы сохранить значения dept_id
, вы можете настроить скрытый вход dept_id
после отключенного входа:
<?php foreach ( $deps as $dep ) { ?>
<tr>
<td><input type="text" value="<?php echo $dep['dept_id'] ?>" class="form-control" disabled></td>
<td><input name="dept_id[]" type="hidden" value="<?php echo $dep['dept_id'] ?>" ></td>
<td><input name="dept_name[]" type="text" value="<?php echo $dep['dept_name'] ?>" class="form-control"></td>
<td><input name="dept_contact_name[]" type="text" value="<?php echo $dep['dept_contact_name'] ?>" class="form-control"></td>
<td><input name="dept_contact_email[]" type="text" value="<?php echo $dep['dept_contact_email'] ?>" class="form-control"></td>
<td><input name="dept_contact_tel[]" type="text" value="<?php echo $dep['dept_contact_tel'] ?>" class="form-control"></td>
<td><input name="dept_contact_fax[]" type="text" value="<?php echo $dep['dept_contact_fax'] ?>" class="form-control"></td>
<td><input name="dept_status[]" type="text" value="<?php echo $dep['dept_status'] ?>" class="small-text"></td>
</tr> <?php } ?>
Если вам не нужно много в плане пользовательского поведения JOptionPane - это хорошая экономия времени. Он заботится о размещении и локализации параметров OK / Cancel и является быстрым и грязным способом показа настраиваемого диалогового окна без необходимости определять свои собственные классы. В большинстве случаев параметр «message» в JOptionPane представляет собой String, но вы также можете передать JComponent или массив JComponents.
Пример:
JTextField firstName = new JTextField();
JTextField lastName = new JTextField();
JPasswordField password = new JPasswordField();
final JComponent[] inputs = new JComponent[] {
new JLabel("First"),
firstName,
new JLabel("Last"),
lastName,
new JLabel("Password"),
password
};
int result = JOptionPane.showConfirmDialog(null, inputs, "My custom dialog", JOptionPane.PLAIN_MESSAGE);
if (result == JOptionPane.OK_OPTION) {
System.out.println("You entered " +
firstName.getText() + ", " +
lastName.getText() + ", " +
password.getText());
} else {
System.out.println("User canceled / closed the dialog, result = " + result);
}
Этот урок из учебного руководства по Java подробно объясняет каждый компонент Swing с примерами и ссылками API.
Если вы используете IDE NetBeans (последняя версия на данный момент - 6.5.1), вы можете использовать ее для создания базового Java-приложения с графическим интерфейсом, используя File-> New Спроектируйте и выберите категорию Java, затем Java Desktop Application.
После создания у вас будет простое приложение с графическим интерфейсом, которое содержит окно about, которое можно открыть с помощью выбора меню. Вы должны быть в состоянии приспособить это к вашим потребностям и научиться открывать диалог одним нажатием кнопки.
Вы сможете редактировать диалог визуально. Удалите элементы, которые там есть, и добавьте несколько текстовых областей. Поиграйте с ним и вернитесь с дополнительными вопросами, если вы застряли:)
Многие люди, похоже, игнорируют первоначальный вопрос «Различия между разработкой в UNIX и Windows», и поэтому я немного расскажу о Это.
Относительно того, должен ли я изучать C #:
Я думаю, что в какой-то момент вам нужно выучить язык, такой как C # [1]. Вопрос не в том, стоит ли вам это изучать, а в том, когда и когда вы будете это изучать.
Относительно альтернативных языков, подобных C #:
Java является другим языком, очень похожим на C #. Java IMO является отцом C #, и IMO я предпочитаю Java.
Я предлагаю вам метафору, объясняющую мое пристрастие к Java. У Явы был этот сын C #, который видел все успехи своего отца. Сын стал ревновать и пытался сделать то же, что делал его отец.
В этом случае MS - выскочка, пытающаяся отодвинуть на задний план старшего отца. Однако в выскочке C # отсутствует пара ключевых моментов IMO:
[1 - сноска] Когда я говорю «такой язык, как C #», я имею в виду тот факт, что существуют другие языки с аналогичными функциями. В частности, такие функции, как: сборка мусора, 100% объектно-ориентированный с самого начала (против взлома C ++ в ОО), встроенная документация по типу xml (например, javadoc) и гибкость для выполнения многих разных задач.
Относительно того, чему я должен научиться. NET:
Я сделал только небольшое / промежуточное количество C #, но из этого небольшого количества я заметил, что .NET в значительной степени требуется, когда вы делаете что-нибудь C #. (Я понимаю, что C # очень инцестуозен с .NET и его трудно отделить.) Как я понимаю, и я могу ошибаться ... большинство / все стандартные основные библиотеки C # - это C #, и поэтому вам нужно иметь .NET если вы делаете C #.
Вернуться к первоначальному вопросу " по сути, вы создаете JDialog, добавляете свои текстовые компоненты и делаете его видимым. Это может помочь, если вы определите, с каким конкретным битом у вас возникают проблемы.