powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / сравнение полей 2х таблиц
25 сообщений из 29, страница 1 из 2
сравнение полей 2х таблиц
    #38344658
samozvanka02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
доброго времени суток

Итак дано: есть 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 и так далее.

наверное немного запутано и непонятно,но если есть вопросы- спрашивайте.

очень надеюсь на вашу помощь
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38344729
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
samozvanka02И еще один нюанс: языков будет не 2(русский и английский), а например 10. и вот для каждого языка нужно создать свое поле название_fr,название_ua и так далее.Зачем так сложно? Одна табличка о трех полях. По первым двум полям - уникальный ключ.

| ID сообщения | ID языка | текст сообщения |
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38344739
samozvanka02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сказали что нужно сделать именно как написано изначально
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38344741
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
samozvanka02,


тебе написать как выполнить скл запрос на пхп/перле???
или как проверить что строка оканчиваеться на подстроку(например "_en")???

или может ты форумом ошибся? в мускле надо было задавать, как определять какие есть таблицы и какие там поля. ну или в работа - если хочешь чтобы ктото сделал.


ЗЫ
идеей/архитектурой если можно это так назвать ты тоже ошибся.
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38344759
samozvanka02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex564657498765453,

спасибо за местами ценную критику, но разделом форума я не ошиблась.
я не знаю как написать такой запрос (чтоб сравнивалось и при отсутствии нужного поля создавалось) в php.
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38344780
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запросы, вообще то, на SQL пишутся.
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38344792
samozvanka02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
наверное я просто неправильно выражаюсь..

я не знаю как написать этот sql запрос в php. и не знаю является ли процедура создание столбца в таблице sql запросом, или же реализуется конструкцией if.....else или как-то иначе
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38344815
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
samozvanka02я не знаю как написать этот sql запрос в phpТочно так же, как и любую строку текста.

samozvanka02является ли процедура создание столбца в таблице sql запросомЯвляется

samozvanka02или же реализуется конструкцией if.....elseЭтой конструкцией можно определить необходимость выполнения каких-либо действий.
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38344821
samozvanka02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и вот мы плавно подошли к главному.

не подскажите ли КАК ИМЕННО это реализовать?
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38344835
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начните с написания алгоритма. А уж потом этот самый алгоритм и реализовывайте.
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38344846
samozvanka02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да есть у меня алгоритм...

короче спасибо за советы,которые не пригодились.

и с днем системного администратора Вас, если вы таковым(и) являетесь
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38345035
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
samozvanka02да есть у меня алгоритм...

короче спасибо за советы,которые не пригодились.

и с днем системного администратора Вас, если вы таковым(и) являетесь

А поискать? (даже искать не надо, просто взять первый ответ гугла)
как добавить столбец
получить список столбцов
работа с sql через php
Везде открываем первый ответ выдачи и читаем, везде есть ответы.

Ну а с if else думаю проблем быть не должно

Итак, как видим Вам правильно отвечали... Всё касается исключительно sql. А вообще тут не приветствуются те, кто не ищет перед тем как спросить
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38345274
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
samozvanka02Требуется:
при нажатии на кнопку "Обновить" под таблицей 1 посмотреть есть ли в таблице №2, в столбце pole 2 названия, в конце которых есть значения столбцов кода языка из первой таблицы.


Ну вот, на php это делается через повторное обращение к скрипту на сервере. Кнопка либо в форме как правило для post, либо с готовой ссылкой для get. Разобрав послание скрипт может попросить БД что-то ответить на запрос.

Что касается ответов типа не мной положено - лежи оно так вовек - тогда зачем вообще задавать вопросы.

В типовых отношения столбцы оперативно не вставляют и не удаляют. Для этого существуют строки.
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38347013
samozvanka02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Програмёр,

спасибо за спокойный и адекватный ответ(без киданья тапками)


но в том же самом alter table для добавления столбца в таблицу требуется знать в какую именно таблицу, а она у меня выбирается на предыдущем шаге, то есть мне результат(выбранную таблицу) записать в переменную, а затем уже при alter table вместо имени таблицы записать переменную?
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38347877
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
samozvanka02,

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

Можно таблицу представить так

Покупатель: Иван | Петр | Павел
Продавец: Геннадий | Григорий | Константин
Товар: Бублик | Пирожок | Беляш

А можно так

Покупатель Продавец Товар
Иван Геннадий Бублик
Петр Григорий Пирожок
Павел Константин Беляш
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38348185
samozvanka02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
deblogger,
на сколько я поняла там логика в общем-то понятна. почему нужно работать со столбцами,а не записями.
создается, скажем так, "мультиязычный" портал.
пока все записи создаются на русском языке. разделов в админке много.

столбцы(дубли существующих столбцов с индексами ua,en,fr и так далее) будут в дальнейшем заполнены на соответствующих языках (украинский, английский и казахский). и вот для этих столбцов будет создана дополнительная форма в админке. то есть в одной форме будет русская "начинка"(столбцы без всяких индексов), во второй украинская(столбец с индексом ua) и так далее.

вот. мне кажется это вполне логичным.

хотя с приведенным вами примером я полностью согласна.
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38348790
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так и не врубился в задачу из двух таблиц. Не берусь утверждать что моя реакция показательна, но из практики известно что если с двумя таблицами возникает проблема, значит что-то коренным образом неправильно в этих двух таблицах. Я понимаю соединить несколько отношений, взойти от дальнего потомка к предку, навешать справочников и тп - но если таблиц только две, проблемы быть не может по определению.

Посмотрите как можно повернуть таблицу с бока на ноги и должно все проясниться.
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38348794
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Количество столбцов каким бы оно не было всегда детерминировано. Сколько языков на планете? Неизвестно. Ученые расходятся во мнениях. Следовательно все что заранее неизвестно придется писать в строки. Вот так.
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38349038
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
deblogger,

Ясен пень, архитектура тут крива. Однако, раз уж samozvanka02сказали что нужно сделать именно как написано изначально, так и нехай делает. Мало чтоль кода наваяли для реализации всяких "странностей"? Одним больше, одним меньше - какая нафик разница... Если это и лаба, то какая-то запоздалая. Если тестовое задание к собеседованию... тут еще подумать надо, стоит ли идти к ним.
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38349470
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle,

Это называется зависимость от выбранного пути.

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

Что-то типа learning curve. http://en.wikipedia.org/wiki/Learning_curve И как назло именно к тому времени когда кривая пошла вверх, когда написаны все библиотеки, все классы и функции увязаны в плотный клубок - возникает не об ходимость. Кривая стремительным домкратом падает вниз. И падает и падает и устаканится на некотором компромиссе между хотелками и возможками. После этого люди проходят мимо и говорят: да у вас сайт-то дохлый.

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

Самое смешное что этих систем проработанных - как грязи. Зачем изобретать велосипед - посмотри как сделано и сделай так же.
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38349471
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот было у них два языка, в каких-то файлах поди лежало все, захотелось 10. И приполз писец системе. Теперь будут подгонять столбцы под строки. Потому что так было сделано предками.
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38349503
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
deblogger,

Ну это же классика - работа на результат, а не на перспективу.
У нас не слишком много лет назад внедрили одну очень важную и нужную систему. Да вот только кто внедрял, ниасилил разобраться с utf-8 (которая изначально вроде как и была заложена в той системе). Вместо того чтоб потратить день-два на допиливание, тупо конвертнул все что можно было в cp1251 и отчитался - работает! Шли годы, система растолстела и продолжает обрастать новыми няшками и финтифлюшками, взаимодействием с разными другими шняжками. А все вокруг в юникоде работает. А переделывать нынче ядро чтоб было "правильно"... Неее, одних таблиц только более трехсот, да скриптов немерено, да и костылей уже понаставлено будь здоров. Так каждый раз iconv туда-сюда и делается. Традиция!
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38349582
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, теме капец

Национальная кодировка у нас как национальный вопрос вообще. И замечательно все повторяется. Разгорелись священные войны когда на незыблемый KOI8-R наступала cp1251. Упертые почтальоны перекодировали корреспонденцию клиентов, а чокнутые веб-мастера в качестве хоругвей поднимали какой-то RFC. Типа до нас положено - лежи оно так вовек. Прикольно, да? Уже и интернет в каждом доме, а нравы еще допетровских времен у пользователей. С уникодом же теперь борятся партизанскими методами. Прямой бой не принимают, признают оккупанта, но гадят исподтишка. Бывший враг ср1251 стал лепшим другом, а эти все urf вещи непостижимые, типа.
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38349692
samozvanka02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
deblogger,

а если работать не со столбцами,а с записями?
то данные закинуть в массивы (будет массив 1: будут содержаться коды(ru,en) и массив 2: там будет 2 поля)
и проверять каждую строку второго массива на наличие в нем элементов первого массива циклом?

если да, то какой функцией? пролистала мануал и нашла array_diff, array_uintersect и in_array, но не знаю какая тут подойдет?
мне ведь нужно не просто сравнить 2 массива, а проверить содержатся ли в первом массиве элементы второго?

еще нашла что при отсутствии записи в таблице- можно добавить префикс (extr_prefix_same) и записать в переменную, но префикс(что в общем-то понятно) записывается ПЕРЕД переменной, а мне надо ПОСЛЕ.
как это можно решить?
...
Рейтинг: 0 / 0
сравнение полей 2х таблиц
    #38349719
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам надо было сразу в проектирование БД писать. При чем тут пхп

samozvanka02deblogger,

мне ведь нужно не просто сравнить 2 массива, а проверить содержатся ли в первом массиве элементы второго?


Во-первых элементы содержатся в каждом массиве свои и вы можете только найти общие свойства по которым сравнить и сказать - эти элементы похожи.

Во-вторых, блин, таблица это не массив. Чтобы проверить содержатся ли релевантные записи в двух таблицах надо сделать запрос типа select * from table1, table2 where table1.somefiled = table2.somefiled. Or LIKE or >, or < or NULL and so on.

Например таблица

Человек
------------
Код_человека
Код_цвета_человека
Имя_человека
Фамилия_человека

Цвет
------------
Код_цвета
Название_цвета

SELECT Название_цвета FROM Человек, Цвет WHERE Код_цвета_человека = Код_цвета.

И узнАем какого цвета человек. Правильно?

Посмотрите на записи в двух таблицах. Они разве _одинаковые_? Абсолютно разные.

Единственное что мы сделали - ввели ПРИЗНАК по которому можно судить об ОТНОШЕНИЯХ записей в этих двух таблицах.

Если вас послушать то любой человек у которого две руки, две ноги, голова наверху и половые органы как у вас - это вы. Так получается в программистком мире.

Идите в рубрику Проектирование БД. Я так и не понял в чем у вас проблема с этими езыгами.
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / сравнение полей 2х таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]