0 / 0 / 0
Регистрация: 03.04.2017
Сообщений: 4

Выпадающий список с из базы данных MySQL

25.04.2018, 14:17. Показов 6636. Ответов 3

Студворк — интернет-сервис помощи студентам
Создаю CRUD приложение. Есть две таблицы type и category:

MySQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE TABLE `type` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `sort` varchar(45) NOT NULL,
  `categoryId` int(11) NOT NULL,
  PRIMARY KEY (`ID`),
  KEY `category_idx` (`categoryId`),
  CONSTRAINT `categoryId` FOREIGN KEY (`categoryId`) REFERENCES 
 `category_production` (`ID`) ON DELETE NO ACTION ON UPDATE NO ACTION
  ) 
 
CREATE TABLE `category_production` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `category` varchar(45) NOT NULL,
   PRIMARY KEY (`ID`),
   UNIQUE KEY `category_UNIQUE` (`category`)
)
Удаление, изменение и создание данных работает правильно. Проблема появилась когда хотел создать выпадающий список category для type, т.е. при создании записи в type должен быть список с данными из предыдущей таблицы. Сама форма выпадающего списка создалась, но данных в ней нет. Как это можно справить?

Type.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
@Entity
@Table(name = "type")
public class Type implements Serializable{
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
 
@Column(name = "sort")
private String sort;
 
@OneToOne
@JoinColumn(name = "categoryId")
private Category category;
 
public int getId() {
    return id;
}
 
public void setId(int id) {
    this.id = id;
}
 
public String getSort() {
    return sort;
}
 
public void setSort(String sort) {
    this.sort = sort;
}
 
public Category getCategory() {
    return category;
}
 
public void setCategory(Category category) {
    this.category = category;
}
 
@Override
public String toString() {
    return "Type{" +
            "id=" + id +
            ", sort='" + sort + '\'' +
            ", category=" + category +
            '}';
  }
}
Category.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
@Entity
@Table(name = "category_production")
public class Category {
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
 
@Column(name = "category", unique = true)
private String name_category;
 
public int getId() {
    return id;
}
 
public void setId(int id) {
    this.id = id;
}
 
public String getName_category() {
    return name_category;
}
 
public void setName_category(String name_category) {
    this.name_category = name_category;
}
 
@Override
public String toString() {
    return "Category{" +
            "id=" + id +
            ", name_category='" + name_category + '\'' +
            '}';
  }
}
TypeController.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
@Controller
public class TypeController {
 
private TypeService typeService;
 
@Autowired
@Qualifier(value = "typeService")
public void setTypeService(TypeService typeService) {
    this.typeService = typeService;
}
 
private CategoryService categoryService;
 
@Autowired
@Qualifier(value = "categoryService")
public void setCategoryService(CategoryService categoryService) {
    this.categoryService = categoryService;
}
 
@RequestMapping(value = "types", method = RequestMethod.GET)
public String listType(Model model){
    model.addAttribute("type", new Type());
    model.addAttribute("listType", this.typeService.listType());
 
    return "types";
}
 
@RequestMapping(value = "/types/add", method = RequestMethod.POST)
public String addType(@ModelAttribute("type") Type type,@ModelAttribute("category") Category category){
    if (type.getId()==0){
        this.typeService.addType(type);
        this.categoryService.addCategory(category);
    }else {
        this.typeService.updateType(type);
        this.categoryService.updateCategory(category);
    }
 
    return "redirect:/types";
}
 
@RequestMapping("/removetype/{id}")
public String removeType(@PathVariable("id") int id){
    this.typeService.removeType(id);
    this.categoryService.removeCategory(id);
 
    return "redirect:/types";
}
 
@RequestMapping("/edittype/{id}")
public String editType(@PathVariable("id") int id, Model model){
    model.addAttribute("type", this.typeService.getTypeById(id));
    model.addAttribute("listType", this.typeService.listType());
    model.addAttribute("category", this.categoryService.getCategoryById(id));
    model.addAttribute("listCategory", this.categoryService.listCategory());
 
    return "types";
}
 
 
@RequestMapping("typedata/{id}")
public String typeData(@PathVariable("id") int id, Model model){
    model.addAttribute("type", this.typeService.getTypeById(id));
 
    return "typedata";
 
  }
}
Часть html кода, где создаю выпадающий список(types.jsp):

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
  <tr>
        <td><form:label path="category.id">Category:</form:label></td>
                    <td>
                        <form:select path="category.id" cssStyle="width: 150px;">
                            <form:option value="2">Select a category</form:option>
                            <c:forEach items="${listCategory}" var="category">
                                <form:option value="${category.id}">${category.name_category}</form:option>
                            </c:forEach>
                        </form:select>
                    </td>
                </tr>
 
  /.../
 
      <c:if test="${!empty listType}">
<table class="tg">
    <tr>
        <th width="60">ID</th>
        <th width="150">Sort</th>
        <th width="150">Category</th>
        <th width="50">Edit</th>
        <th width="50">Delete</th>
    </tr>
    <c:forEach items="${listType}" var="type">
        <tr>
            <td>${type.id}</td>
            <td><a href="/typedata/${type.id}" target="_blank">${type.sort}</a></td>
            <td>${category.name_category}</td>
            <td><a href="<c:url value="/edittype/${type.id}"/>">Edit</a></td>
            <td><a href="<c:url value="/removetype/${type.id}"/>">Delete</a></td>
        </tr>
    </c:forEach>
</table>
Миниатюры
Выпадающий список с из базы данных MySQL  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.04.2018, 14:17
Ответы с готовыми решениями:

Чтение файлов из базы данных MySQL на Java
Программа не выводит результат запроса по выборке из таблицы определенного значения (здесь: первая строка, столбец Question), выводит...

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

Выпадающий список материалов из базы данных (не HTML!)
Есть таблица, в которой отображаются данные аспирантов: имя, научная специальность, научный руководитель, тема работы(Таблица1). Данные...

3
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
25.04.2018, 14:56
убери this,
включи дебаггер, смотри че откуда возвращается
0
0 / 0 / 0
Регистрация: 03.04.2017
Сообщений: 4
25.04.2018, 19:45  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
убери this,
включи дебаггер, смотри че откуда возвращается
Только через дебаггер можно узнать в чем проблема?
Я с ним пока не в очень хороших отношениях :\ (учусь только)
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
25.04.2018, 20:47
ну вот и учись, как раз повод есть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.04.2018, 20:47
Помогаю со студенческими работами здесь

Выпадающий список из базы данных (одинаковые значения)
Всем привет, начинаю только осваивать это чудесное ремесло И ни как не могу допереть как нужно сделать. Зашел что то в тупик Задача:...

Выпадающий список при выборе из базы данных MSSQL
есть такая форма с DBgrid ами и прочими компонентами для связи с БД Вопрос в том что бы создать так &quot;ИД Клиента&quot;, что бы был...

Выпадающий список из базы
Добрый Всем день. Вот запрос: $query=mysql_query(&quot;SELECT nomer,dom FROM catalog&quot;); Выпадающий список: &lt;div&gt; &lt;a ...

Выпадающий список из базы
В базе имеется таблица menu с полями id_eat, name, eat_time. Необходимо вывести на форму список со значениями из таблицы и после выбора...

выпадающий список - mysql
Привет.Столкнулась с такой проблемои ..(кое кому неверное смешнои ).Беру список с mysql.Как сделать чтобы после филтрации етот выбор...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
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 и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru