Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
доброго времени суток Итак дано: есть 2 таблицы : 1 и 2 структура таблицы 1: id(он AI) | name(тут пишутся названия языков, например "Английский") | code (тут код языка, например en) таблица 2 состоит из столбцов : id(так же AI) | pole1 (тут происходит выбор одной таблицы из бд) | pole 2 (тут выбирается столбец из таблицы, которая была выбрана в Pole1) Требуется: при нажатии на кнопку "Обновить" под таблицей 1 посмотреть есть ли в таблице №2, в столбце pole 2 названия, в конце которых есть значения столбцов кода языка из первой таблицы. Например, есть ли в pole 2 название_en? если есть,оставить все как есть, если нет, то в таблице (к которой относится это поле) создать столбец название_en. И еще один нюанс: языков будет не 2(русский и английский), а например 10. и вот для каждого языка нужно создать свое поле название_fr,название_ua и так далее. наверное немного запутано и непонятно,но если есть вопросы- спрашивайте. очень надеюсь на вашу помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 09:34 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
samozvanka02И еще один нюанс: языков будет не 2(русский и английский), а например 10. и вот для каждого языка нужно создать свое поле название_fr,название_ua и так далее.Зачем так сложно? Одна табличка о трех полях. По первым двум полям - уникальный ключ. | ID сообщения | ID языка | текст сообщения | ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 10:22 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
сказали что нужно сделать именно как написано изначально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 10:27 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
samozvanka02, тебе написать как выполнить скл запрос на пхп/перле??? или как проверить что строка оканчиваеться на подстроку(например "_en")??? или может ты форумом ошибся? в мускле надо было задавать, как определять какие есть таблицы и какие там поля. ну или в работа - если хочешь чтобы ктото сделал. ЗЫ идеей/архитектурой если можно это так назвать ты тоже ошибся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 10:29 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, спасибо за местами ценную критику, но разделом форума я не ошиблась. я не знаю как написать такой запрос (чтоб сравнивалось и при отсутствии нужного поля создавалось) в php. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 10:40 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
Запросы, вообще то, на SQL пишутся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 10:48 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
наверное я просто неправильно выражаюсь.. я не знаю как написать этот sql запрос в php. и не знаю является ли процедура создание столбца в таблице sql запросом, или же реализуется конструкцией if.....else или как-то иначе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 10:53 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
samozvanka02я не знаю как написать этот sql запрос в phpТочно так же, как и любую строку текста. samozvanka02является ли процедура создание столбца в таблице sql запросомЯвляется samozvanka02или же реализуется конструкцией if.....elseЭтой конструкцией можно определить необходимость выполнения каких-либо действий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 11:08 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
и вот мы плавно подошли к главному. не подскажите ли КАК ИМЕННО это реализовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 11:10 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
Начните с написания алгоритма. А уж потом этот самый алгоритм и реализовывайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 11:19 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
да есть у меня алгоритм... короче спасибо за советы,которые не пригодились. и с днем системного администратора Вас, если вы таковым(и) являетесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 11:23 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
samozvanka02да есть у меня алгоритм... короче спасибо за советы,которые не пригодились. и с днем системного администратора Вас, если вы таковым(и) являетесь А поискать? (даже искать не надо, просто взять первый ответ гугла) как добавить столбец получить список столбцов работа с sql через php Везде открываем первый ответ выдачи и читаем, везде есть ответы. Ну а с if else думаю проблем быть не должно Итак, как видим Вам правильно отвечали... Всё касается исключительно sql. А вообще тут не приветствуются те, кто не ищет перед тем как спросить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 12:45 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
samozvanka02Требуется: при нажатии на кнопку "Обновить" под таблицей 1 посмотреть есть ли в таблице №2, в столбце pole 2 названия, в конце которых есть значения столбцов кода языка из первой таблицы. Ну вот, на php это делается через повторное обращение к скрипту на сервере. Кнопка либо в форме как правило для post, либо с готовой ссылкой для get. Разобрав послание скрипт может попросить БД что-то ответить на запрос. Что касается ответов типа не мной положено - лежи оно так вовек - тогда зачем вообще задавать вопросы. В типовых отношения столбцы оперативно не вставляют и не удаляют. Для этого существуют строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 14:34 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
Програмёр, спасибо за спокойный и адекватный ответ(без киданья тапками) но в том же самом alter table для добавления столбца в таблицу требуется знать в какую именно таблицу, а она у меня выбирается на предыдущем шаге, то есть мне результат(выбранную таблицу) записать в переменную, а затем уже при alter table вместо имени таблицы записать переменную? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2013, 09:42 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
samozvanka02, Потребность оперировать столбцами скорее всего показывает что логика повернута на 90 градусов. Можно таблицу представить так Покупатель: Иван | Петр | Павел Продавец: Геннадий | Григорий | Константин Товар: Бублик | Пирожок | Беляш А можно так Покупатель Продавец Товар Иван Геннадий Бублик Петр Григорий Пирожок Павел Константин Беляш ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2013, 20:11 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
deblogger, на сколько я поняла там логика в общем-то понятна. почему нужно работать со столбцами,а не записями. создается, скажем так, "мультиязычный" портал. пока все записи создаются на русском языке. разделов в админке много. столбцы(дубли существующих столбцов с индексами ua,en,fr и так далее) будут в дальнейшем заполнены на соответствующих языках (украинский, английский и казахский). и вот для этих столбцов будет создана дополнительная форма в админке. то есть в одной форме будет русская "начинка"(столбцы без всяких индексов), во второй украинская(столбец с индексом ua) и так далее. вот. мне кажется это вполне логичным. хотя с приведенным вами примером я полностью согласна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 10:13 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
Я так и не врубился в задачу из двух таблиц. Не берусь утверждать что моя реакция показательна, но из практики известно что если с двумя таблицами возникает проблема, значит что-то коренным образом неправильно в этих двух таблицах. Я понимаю соединить несколько отношений, взойти от дальнего потомка к предку, навешать справочников и тп - но если таблиц только две, проблемы быть не может по определению. Посмотрите как можно повернуть таблицу с бока на ноги и должно все проясниться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 14:46 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
Количество столбцов каким бы оно не было всегда детерминировано. Сколько языков на планете? Неизвестно. Ученые расходятся во мнениях. Следовательно все что заранее неизвестно придется писать в строки. Вот так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 14:47 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
deblogger, Ясен пень, архитектура тут крива. Однако, раз уж samozvanka02сказали что нужно сделать именно как написано изначально, так и нехай делает. Мало чтоль кода наваяли для реализации всяких "странностей"? Одним больше, одним меньше - какая нафик разница... Если это и лаба, то какая-то запоздалая. Если тестовое задание к собеседованию... тут еще подумать надо, стоит ли идти к ним. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 16:16 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
vkle, Это называется зависимость от выбранного пути. Опять общие базары. Ну ладно. Есть два пути - прямой и извилистый. Естественно практика предпочитает прямой, очевидный и легкий. Что на что похоже - то оно и есть. Так вот если все начинается легко и просто - жди беды. Это значит масса неучтенных факторов внезапно вылезет как шило из мешка и будет тысячи их, over9000, в общем стопицот. Что-то типа learning curve. http://en.wikipedia.org/wiki/Learning_curve И как назло именно к тому времени когда кривая пошла вверх, когда написаны все библиотеки, все классы и функции увязаны в плотный клубок - возникает не об ходимость. Кривая стремительным домкратом падает вниз. И падает и падает и устаканится на некотором компромиссе между хотелками и возможками. После этого люди проходят мимо и говорят: да у вас сайт-то дохлый. Ну вот, извилистый путь как ни странно для геометрии оказывается самым прямым и свободным. Если в начале все невероятно трудно, то жди подарка. Неучтенных факторов оказывается немного и те, которые не учлись поглощаются глубоко проработанной системой без икоты. Самое смешное что этих систем проработанных - как грязи. Зачем изобретать велосипед - посмотри как сделано и сделай так же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 22:05 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
Ну вот было у них два языка, в каких-то файлах поди лежало все, захотелось 10. И приполз писец системе. Теперь будут подгонять столбцы под строки. Потому что так было сделано предками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 22:06 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
deblogger, Ну это же классика - работа на результат, а не на перспективу. У нас не слишком много лет назад внедрили одну очень важную и нужную систему. Да вот только кто внедрял, ниасилил разобраться с utf-8 (которая изначально вроде как и была заложена в той системе). Вместо того чтоб потратить день-два на допиливание, тупо конвертнул все что можно было в cp1251 и отчитался - работает! Шли годы, система растолстела и продолжает обрастать новыми няшками и финтифлюшками, взаимодействием с разными другими шняжками. А все вокруг в юникоде работает. А переделывать нынче ядро чтоб было "правильно"... Неее, одних таблиц только более трехсот, да скриптов немерено, да и костылей уже понаставлено будь здоров. Так каждый раз iconv туда-сюда и делается. Традиция! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2013, 22:57 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
Да, теме капец Национальная кодировка у нас как национальный вопрос вообще. И замечательно все повторяется. Разгорелись священные войны когда на незыблемый KOI8-R наступала cp1251. Упертые почтальоны перекодировали корреспонденцию клиентов, а чокнутые веб-мастера в качестве хоругвей поднимали какой-то RFC. Типа до нас положено - лежи оно так вовек. Прикольно, да? Уже и интернет в каждом доме, а нравы еще допетровских времен у пользователей. С уникодом же теперь борятся партизанскими методами. Прямой бой не принимают, признают оккупанта, но гадят исподтишка. Бывший враг ср1251 стал лепшим другом, а эти все urf вещи непостижимые, типа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2013, 07:14 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
deblogger, а если работать не со столбцами,а с записями? то данные закинуть в массивы (будет массив 1: будут содержаться коды(ru,en) и массив 2: там будет 2 поля) и проверять каждую строку второго массива на наличие в нем элементов первого массива циклом? если да, то какой функцией? пролистала мануал и нашла array_diff, array_uintersect и in_array, но не знаю какая тут подойдет? мне ведь нужно не просто сравнить 2 массива, а проверить содержатся ли в первом массиве элементы второго? еще нашла что при отсутствии записи в таблице- можно добавить префикс (extr_prefix_same) и записать в переменную, но префикс(что в общем-то понятно) записывается ПЕРЕД переменной, а мне надо ПОСЛЕ. как это можно решить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2013, 10:19 |
|
||
|
сравнение полей 2х таблиц
|
|||
|---|---|---|---|
|
#18+
Вам надо было сразу в проектирование БД писать. При чем тут пхп samozvanka02deblogger, мне ведь нужно не просто сравнить 2 массива, а проверить содержатся ли в первом массиве элементы второго? Во-первых элементы содержатся в каждом массиве свои и вы можете только найти общие свойства по которым сравнить и сказать - эти элементы похожи. Во-вторых, блин, таблица это не массив. Чтобы проверить содержатся ли релевантные записи в двух таблицах надо сделать запрос типа select * from table1, table2 where table1.somefiled = table2.somefiled. Or LIKE or >, or < or NULL and so on. Например таблица Человек ------------ Код_человека Код_цвета_человека Имя_человека Фамилия_человека Цвет ------------ Код_цвета Название_цвета SELECT Название_цвета FROM Человек, Цвет WHERE Код_цвета_человека = Код_цвета. И узнАем какого цвета человек. Правильно? Посмотрите на записи в двух таблицах. Они разве _одинаковые_? Абсолютно разные. Единственное что мы сделали - ввели ПРИЗНАК по которому можно судить об ОТНОШЕНИЯХ записей в этих двух таблицах. Если вас послушать то любой человек у которого две руки, две ноги, голова наверху и половые органы как у вас - это вы. Так получается в программистком мире. Идите в рубрику Проектирование БД. Я так и не понял в чем у вас проблема с этими езыгами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2013, 10:35 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38349692&tid=1463567]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 367ms |

| 0 / 0 |
