Forum. MyNuke.ru

Forum. MyNuke.ru (http://forum.mynuke.ru/index.php)
-   Модули (http://forum.mynuke.ru/forumdisplay.php?f=17)
-   -   Как в модуль Files добавить 5 полей ввода данных типа... (http://forum.mynuke.ru/showthread.php?t=2379)

XersoNuke2005 06.11.2006 11:10

Как в модуль Files добавить 5 полей ввода данных типа...
 
Здравствуйте Уважаемые!

Вопрос: Как в модуль Files добавить 5 полей ввода данных типа...

1) Тип Лицензии:
2) Язык интерфейса:
3) Oc 1 // Тип операционной системы
4) Ос 2
5) Ос 3

И как результат - добавить в базу соответствующие таблицы!

З.Ы. Имхо! Модуль Files станет более информативным!

Огромная просьба к Вам Много Уважаемые - Если гуру в ентой теме, дать ответ по конкретнее!

Alexander-V-Sh 06.11.2006 11:46

Открываем модуль и таблицу в БД.
Находим в БД
title varchar(100)
(можно поставить 255, думаю больше для этих полей и ненужно).
По аналогии делаем 5 полей в БД
lic varchar(255) NOT NULL default '',
lang varchar(255) NOT NULL default '',
oc1 varchar(255) NOT NULL default '',
oc2 varchar(255) NOT NULL default '',
oc3 varchar(255) NOT NULL default '',

затем открываем админку и тоже по аналогии с title делаем эти поля в функциях редактирования и создания (добавляем поля ввода для текста и присваиваем вводимые данные переменной).
Затем в функции записи добавляем эти переменные (тоже см. как сделано title).
После того как админка сделана, проверяем запись. Если все записывается и читается, то 90% уже сделано.
Открываем сам модуль, выводим значения из базы и работаем с ними как нам угодно.

P. S. Вот только непонятно зачем делать 3 поля под ОС. Можно просто сделать цифирки, а в коле уже приравнять их к определенной системе. 1 - Линукс, 2 - Виндовс ХР, 3 - Макинтошь, 4 - и т.д.
Т.е в БД пойдет в запись цифра, а при выводе информации она будет равна нужной ОС.

XersoNuke2005 06.11.2006 13:30

Спасибо за ответ!

Три поля нужны для того:

1) Win9x/Me
2) Win2k/NT
3) WinXP

Не всё же пишется для XP!

P.S. На счёт заходим в админку т.е в Модуле Files папка Admin в ней Admin.php ?

Alexander-V-Sh 06.11.2006 13:41

угу, она самая, Admin.php

Понятно что, не все для ХР. зачем для каждого названия делать свое поле? Какая необходимость, это же текстовые данные.
Делаем одно поле -
`OC` int(1) NOT NULL default '0',

пишим туда цифирки (чтобы вручную каждый раз не писать Win9x/Me и др.
затем (если вы четко определились что у вас и как будет, присваиваем каждой цифре свою сисетму).
Зашивание данных в код не совсем правильно, но иногда это самый простой вариант.

Т.е. прописываем потом значение системы:
Если в БД значение 1 - то Win9x/Me
если значение 2 - то Win2k/NT
иначе будет ХР.

XersoNuke2005 06.11.2006 14:33

А возможно сделать не поля ввода типа ОС а выпадающий список с возможными вариантами!

Если можно то по возможности маленький пример кода для admin.php - я не силён программировании но с грамотной подсказкой - без проблем сотворю!

Alie 06.11.2006 16:44

Можно и так, в БД есть только два вида ввода данных: обычный и мульти, в вашем случае хоть выпадающее меню, хоть текстовое поле, хоть цифра - принцип ввода тот-же (обычный), так что можете смело переделывать.
Пример:
Код:
<select> <option name='os' value='$winxp'>WinXP</option> <option name='os' value='$winnt'>Win2k/NT</option> <option name='os' value='$winme'>Win9x/Me</option> </select>

XersoNuke2005 06.11.2006 18:47

Цитата: Сообщение от Alexander-V-Sh
Затем в функции записи добавляем эти переменные (тоже см. как сделано title).
После того как админка сделана, проверяем запись. Если все записывается и читается, то 90% уже сделано.


А если после добавления файла данные не записываются - что и где надо проверить!

Alexander-V-Sh 06.11.2006 19:05

в админ файле (admin.php), проверяем и перепроверяем запись.

в саму таблицу то поля добавили?.

если последовательность записи не совпадет с полями в бд, то записываться не будет, или будет неверно.

Alie 06.11.2006 19:13

Проблема точно в записи, а не в выводе? Преверьте первым делом добавляются-ли новые поля в phpMyAdmin.
Если нет - ошибка в коде функции обработчика, или в функции не указаны поля ввода. Если оператором switch пользуетесь - возможно в case поля ввода не прописали.
_______________

2 Alexander-V-Sh: Быстрее меня нацарапал :smile:

XersoNuke2005 06.11.2006 20:25

Цитата: Сообщение от Alexander-V-Sh
в админ файле (admin.php), проверяем и перепроверяем запись.

в саму таблицу то поля добавили?.

если последовательность записи не совпадет с полями в бд, то записываться не будет, или будет неверно.


В бд всё добавил - и phpMyAdmin ручками в поля вписываю и в сё отображается окей
значит с чтением из БД всё норма!

В case прописал:
switch ($op) {

case "file_save":
file_save($title, $lic, $lang, $oc, $description, $cid, $filelink, $author, $authormail, $authorurl, $version, $filesize);
break;

case "file_edit_save":
file_edit_save($lid, $title, $lic, $lang, $oc, $description, $cid, $filelink, $author, $authormail, $authorurl, $version, $filesize);
break;

}

Сам Admin.php к к посту не прикрючивается, можно как то его вам для редактирования выслать?


Часовой пояс GMT +4, время: 14:57.

Copyright © 2005 by Soniks