Как я уже упоминал в комментариях, такого рода дизайн базы данных - не что иное, как боль и страдание ... и не так много людей с таким же отношением к "HURT ME MORE" в отношении SQL, как я.Поэтому, конечно, я смоделировал вашу таблицу и значения и приступил к некоторым исследованиям, чтобы найти способ сделать это полностью в SQL.
В другом комментарии я упомянул смутно похожий вопрос, на который я ответил , и ваши требования намного проще и могут быть решены с помощью простого поворота в SQL.MySQL не имеет правильных точек, но, очевидно, можно стать хитрым:
SELECT NO,
MAX(CASE WHEN (field_A = 'username') THEN field_b END) AS username,
MAX(CASE WHEN (field_A = 'email') THEN field_B END) AS email,
MAX(CASE WHEN (field_A = 'date_birth') THEN field_B END) AS date_birth,
MAX(CASE WHEN (field_A = 'place_birth') THEN field_B END) AS place_birth
FROM my_tabel1
GROUP BY NO
С помощью этого вы можете полностью выполнять манипуляции с данными в коде SQL (где он есть), а PHP может просто захватывать и отображатьпо-прежнему.Хотя я все еще подчеркиваю, что такой дизайн действительно не рекомендуется, особенно учитывая, что псевдостолбцы таблицы (имя пользователя, адрес электронной почты и т. Д.) Выглядят довольно конкретными.Я бы, наверное, пошел искать лучший сторонний плагин для всего, что вы делаете.
Отказ от ответственности: Это было смоделировано и протестировано только с SQL Server и SQL Fiddle, так как на данный момент у меня нет доступных машин с MySQL.