Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 15.05.2017, 21:55
Аватар для Niliya
Интересующийся
Отправить личное сообщение для Niliya Посмотреть профиль Найти все сообщения от Niliya
 
Регистрация: 15.05.2017
Сообщений: 12

Сообщение от laimas
Не цитируйте мои комменты полностью, зачем?
сама не знаю)
Сообщение от laimas
Если ваша база для работы только с русским и английским, то выгоднее не
utf8_unicode_ci, а utf8_general_ci.

Чтобы был корректный вывод из базы, а не Гена, нужно указывать кодировку соединения сразу после соединения с базой:

mysql_query("SET NAMES utf8");

Естественно, также должна определятся и кодировка страниц. Если предполагается использование функций для работы с многобайтными строками, то можно сразу и для них определить кодировку

mb_internal_encoding("UTF-8");
спасибо))
Сообщение от laimas
Я уже писал, что это плохо и чревато последствиями, почему продолжается?
потомучто я не поняла как переделать на живом я убираю скобку и оно вообще не выводит))
Сообщение от laimas
Я вам уже дважды пытался пояснить что требуется - что такое rank_name?
rank_name это должность
Сообщение от laimas
Пусть в некой фирме определены всего четыре должности и иных должностей не предвидится.
Да будет всего 15 и больше не предвидется и не будет) Но будут люди которые им соотвествуют. например мне нужно добавить еще человека.. я хочу сделать так чтобы не вводить его Имя и должность в базу я хочу сделать как новую анкету но этого реализовать я не смогу у меня знаний не хватит ))
Сообщение от laimas
То есть не нужно никаких "телодвижений" для того, что из одного набора переместить выбор в другой набор, достаточно просто выбора в списке, который и нужно отправлять серверу.
Я это поняла но я не поняла сам код как написать.. словами то я все понимаю но вот применить я не знаю как))


Толку вообще что я сделала как вы сказали в одну таблицу все запихнула.. Реакции фильтра 0.. Реакции того что я выбираю - 0.. Не каких записей в бд и прочего также нет..

Последний раз редактировалось Niliya, 15.05.2017 в 22:48.
Ответить с цитированием
  #12 (permalink)  
Старый 15.05.2017, 23:05
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Niliya
потомучто я не поняла как переделать на живом я убираю скобку и оно вообще не выводит
В db_connection.php (надо полагать там соединение с базой) определите кодировку соединения, как было написано ранее. В нем же можно определить и режим отладки - вывод ошибок сервера в режиме отладки (на локальном сервере) и вывод "нейтрального сообщения" на удаленном сервере. Например:

define('DEBUGER', 1); //режим отладки: 1 - вывод ошибок MySQL, 0 - вывод сообщения
define('SQLERROR', 'Что-то не срослось...'); //сообщение, которое будет выводиться при ошибках БД на удаленном сервере


Запросы при этом могут быть такими

$q = mysql_query('тело запроса') or die(DEBUGER ? __FILE__.'/'.__LINE__.'/'.mysql_error() : SQLERROR);


Если при запросе возникнет ошибка, то в режиме отладки будет выдана строка с именем файла и номером строки где произошла ошибка, и описанием самой ошибки. При отключенной отладке будет выводится сообщение определенное константой SQLERROR.

die - это синоним exit, то есть выход из скрипта, что не приведет к выводу дальнейших неизбежных ошибок.

Если нет ошибок, значит можно безопасно производить разборку запроса - если запрос вернул записи одно действие, иначе иное.

Сообщение от Niliya
Да будет всего 15 и больше не предвидется и не будет...
Я это поняла но я не поняла сам код как написать
Я тоже затрудняюсь как писать, так как вы не знаете SQL. Пусть у вас 15 значений и вы их опишите полем ENUM (в phpmyadmin сделать это не сложно). Только учтите, сразу описать и без ошибок - правка текста, смена позиций в описании приведет к тому, что уже назначенные значения из списка у субъектов пропадут, примут значение по умолчанию.

Вообще можно по структуре таблицы конструировать форму. То есть ее параметры будут определять типы полей формы и другие их свойства. Это означает, что если в структуре таблицы произойдут изменения, они автоматически будут отражены и формой. Таким образом во многом даже и не потребуется корректировать скрипты.

Получить параметры полей таблицы можно посредством запроса:

'SELECT перечисление параметров
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = "имя базы" AND TABLE_NAME = "имя таблицы"'

Например для поля ENUM, которое нас интересует, нам нужен только один параметр (примем по умолчанию, что это поле в sql таблице последнее) - COLUMN_TYPE, которое для примера выше вернется в массиве под последним индексом

[COLUMN_TYPE] => enum('Шеф','Бухгалтер','Бригади р','Рабочий')

которое можно извлечь из всех полей функцией array_pop(). Далее получив это значение сформировать список:

preg_match_all("/(?<=')[^',]+(?=')/ui", $array['COLUMN_TYPE'], $enum);
$select = '<select name="...">' . implode(array_map(function($k, $v) use($set) {
     return '<option value="'.$k.'">' . $v . '</option>';   
}, range(1, count($enum[0])), $enum[0])) . '</select>';

echo $select;


Если редактирование, то в use передается значение поля enum для записи (числовое, либо строковое), которое сравнивается в анонимной функции с соответствующим значением ($k или $v) и определяя выбранной соответствующую опцию. В случае добавления субъекта в базу этого не надо, но нужно добавлять опцию "Выберите" с пустым значением (если только не определено значение по умолчанию отличное от "нет" или null).

Если это затруднительно, то можно построить список и по основной таблице - выбрать отдельным запросом из основной таблицы только уникальные числовые и текстовые значения этого поля и построить по ним список. Понятно, что такое возможно только в том случае, что все 15 значений определены для субъектов. Но и понятно, что такое состояние таблицы не является гарантией.

Если же не ENUM, а отдельной таблицей, то запрос к этой таблице, и строить по ее данным список, принцип такой же будет как и в случае ENUM.

Последний раз редактировалось laimas, 16.05.2017 в 06:42.
Ответить с цитированием
  #13 (permalink)  
Старый 15.05.2017, 23:08
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Niliya
Толку вообще что я сделала как вы сказали в одну таблицу все запихнула.. Реакции фильтра 0
Вы чего хотите? Ранее было заявлено, что нужно только "что-то перенести в иное". Теперь же речь о фильтре идет. А фильтрация, это выборка по параметрам - WHERE ... описание полей и параметров запроса для них.

Просто вы делаете что-то не так.

Последний раз редактировалось laimas, 16.05.2017 в 06:42.
Ответить с цитированием
  #14 (permalink)  
Старый 16.05.2017, 11:40
Аватар для Niliya
Интересующийся
Отправить личное сообщение для Niliya Посмотреть профиль Найти все сообщения от Niliya
 
Регистрация: 15.05.2017
Сообщений: 12

Сообщение от laimas Посмотреть сообщение
Вы чего хотите? Ранее было заявлено, что нужно только "что-то перенести в иное". Теперь же речь о фильтре идет. А фильтрация, это выборка по параметрам - WHERE ... описание полей и параметров запроса для них.

Просто вы делаете что-то не так.
Нит) Я сразу говорила про фильтр вот именно что так просто все работает но с фильтром нет) вот такой фильтр посмотрите Тут у них раздел Portfolio как раз то что я вырезала и себе вставила.. Вот так и хочу чтобы жала на кнопку и менялась категория))
Ответить с цитированием
  #15 (permalink)  
Старый 16.05.2017, 11:48
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Niliya
Я сразу говорила про фильтр
Вы сразу говорили о переносе в какую-то категорию, затем о добавлении новых пользователей, затем о фильтре и все это с привязкой к SQL, данные в которой имели непонятную структуру.

То что по ссылке, это работа такого плагина как jQury плагин isotope, который работает исключительно на клиенте с объектами на странице.

Что есть категория? Это должность? Значит можно при выводе связать должности по имени класса, что потом и использовать в isotope (почитайте документацию и посмотрите примеры кода по ссылке).

PS. Кстати, чтобы обеспечить такой вывод на странице, нужна сортировка запроса по должности (если конечно категория о которой вы все говорите, это и есть должность).

Последний раз редактировалось laimas, 16.05.2017 в 11:52.
Ответить с цитированием
  #16 (permalink)  
Старый 16.05.2017, 12:16
Аватар для Niliya
Интересующийся
Отправить личное сообщение для Niliya Посмотреть профиль Найти все сообщения от Niliya
 
Регистрация: 15.05.2017
Сообщений: 12

Сообщение от laimas
То что по ссылке, это работа такого плагина как jQury плагин isotope, который работает исключительно на клиенте с объектами на странице.
Дааа вот именно это и хочу.. Каждая кнопка фильтра это и есть категория))
Сообщение от laimas
PS. Кстати, чтобы обеспечить такой вывод на странице, нужна сортировка запроса по должности (если конечно категория о которой вы все говорите, это и есть должность).
Вот именно это я и не знаю как сделать.. У меня было 2 таблицы именно для того чтобы я отправляла с select выбор в категорию фильтра.. как то так..
Вот смотрите что я хочу сделать вы меня уже поняли наверно что я хочу)))
Изображения:
Тип файла: jpg QnAvN974.jpg (389.3 Кб, 4 просмотров)
Ответить с цитированием
  #17 (permalink)  
Старый 16.05.2017, 12:40
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Плагин isotope использует атрибут data-filter для описания объектов определяемые фильтром. Для кнопки "Все", это будет data-filter="*", а например data-filter=".name" означает, что по нажатию этой кнопки на странице будут отображены только элементы с именем класса "name", для data-filter=".name2,.name3" элементы с этими классами.

То есть чтобы сформировать код страницы для этого плагина можно запрос сортировать по должности, давая элементам любое имя класса с добавлением числового значения должности (читайте об этом в ранее написанном), то есть будет типа style1, style2, ... style15

Правда если у вас субъектов немного и они все сразу могут быть выведены на страницу.

Еще раз посмотрите пример html-верстки в примерах этого плагина, ведь вам же это связать со своим кодом/данными.

Для фильтрации на странице этим плагином никаких input и select не требуется, зачем они вам нужны тогда не понятно.
Ответить с цитированием
  #18 (permalink)  
Старый 16.05.2017, 12:52
Аватар для Niliya
Интересующийся
Отправить личное сообщение для Niliya Посмотреть профиль Найти все сообщения от Niliya
 
Регистрация: 15.05.2017
Сообщений: 12

Сообщение от laimas
Для фильтрации на странице этим плагином никаких input и select не требуется, зачем они вам нужны тогда не понятно.
Чтобы я могла менять анкету и она переходила в другую категорию фильтра вроде как appendTo() только + ajax чтобы сохранялось.. Я раньше пыталась сделать через drag n drop перетаскивать просто анкету на кнопку фильтра и оно определяло класс и добавляла к анкете.. но это очень сложно было для меня.. и потому я решила просто сделать на каждой анкете кнопку <select> чтобы перемещало в категорию фильтра.. Вот то что вы написали я это читала все гуглила. Но живых примеров некто не показывает.. Я такая что я смотрю код и потом разбираюсь в нем гуглю каждую переменную и т.д. чтобы понять работу и так запоминаю.. а когда в голове каша изза энциклопедий я все читала и понимаю но реализовать некак не получается))
Ответить с цитированием
  #19 (permalink)  
Старый 16.05.2017, 12:58
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Niliya
Чтобы я могла менять анкету и она переходила в другую категорию фильтра
Вы можете простыми словами написать - "В базе есть Федя, он шофер, но теперь стал нашим босом и ему надо изменить должность в базе". Этого вы хотите?
Ответить с цитированием
  #20 (permalink)  
Старый 16.05.2017, 14:05
Аватар для Niliya
Интересующийся
Отправить личное сообщение для Niliya Посмотреть профиль Найти все сообщения от Niliya
 
Регистрация: 15.05.2017
Сообщений: 12

Сообщение от laimas
Вы можете простыми словами написать - "В базе есть Федя, он шофер, но теперь стал нашим босом и ему надо изменить должность в базе". Этого вы хотите?
Дааа вот именно так и хочу.. В базе Федя он грузчик.. Теперь он водитель и при нажатии кнопки фильтра категории Водители - он уже будет в той категории(кнопка фильтра) и из категории(кнопка фильтра) Грузчики он remove() как та так)) Только саму смену категории анкеты Феди я должна сделать не вводя в базу текст и переключив просто в админке.

Последний раз редактировалось Niliya, 16.05.2017 в 14:07.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка формы только после выбора select Zaratustra AJAX и COMET 47 11.09.2016 10:50
Сохранение выбора в select steepfox Общие вопросы Javascript 27 18.10.2015 16:10
Очистить массив от дубликатов по двум полям webphp AJAX и COMET 5 20.09.2014 15:41
Выбор и сброс выбора в select Veterinar Элементы интерфейса 9 08.09.2014 19:10
Обработка выбора select systemiv Общие вопросы Javascript 2 20.11.2012 01:44