Основан 26 Июля 2013 года
freehacks.ru fhacks.me fhacks.pw fhacksnplmzxaaoo.onion

Показано с 1 по 5 из 5
  1. #1
    Trust
    TopicStarter
    Админ негодует :3
    Аватар для admin

    Статус
    Online
    Регистрация
    27.07.2013
    Сообщений
    1,439
    Репутация
    159 + / -
    Безопасность

    Получить название колонки сформированной в запросе | php

    Запрос:
    sql код:
    SELECT d.modelid, b.modelid, b.vendor AS  'Изготовитель', b.model AS  'Модель', ELT( e.modelid
    DIV 1000 , 'Собственный', 'Аренда', 'Окончание собственности', 'Окончание аренды' )
    AS 'Собственность', count( * ) AS 'К-во'
    FROM computer_system a, model_category b, ownership d, ownership_category e
    WHERE d.computerid = a.computerid
    AND d.removed IS NULL
    AND d.modelid <2500
    AND e.modelid = d.modelid
    AND b.modelid = a.model
    GROUP BY a.model
    ORDER BY b.vendor, b.model, b.cversion
    LIMIT 0 , 30


    Ответ:
    modelid modelid Изготовитель Модель Собственность К-во
    1 1 vendor model NULL 1


    Вопрос:

    Как мне получить названия колонок, которые выделены цветом?
    Последний раз редактировалось admin; 29.07.2014 в 20:34.
    [Только зарегистрированные могут видеть это. ]
    JID: [Только зарегистрированные могут видеть это. ] - пока не сижу там, только ЛС.

  2. #2
    Аватар для Suicidemouse

    Статус
    Offline
    Регистрация
    02.12.2013
    Сообщений
    351
    Репутация
    149 + / -
    Безопасность
    Потенциально ответ это двумерный массив, названия колонок(если они присутствуют в ответе) это х2-х5 элементы массива.
    «Вози кусты и героин, а то останешься рабом» © Буравчик

  3. #3
    Trust
    Аватар для ul1k317

    Статус
    Offline
    Регистрация
    26.08.2013
    Сообщений
    823
    Репутация
    395 + / -
    Web-программист
    Все просто, если я понял суть вопроса. В любом случае mysql, mysqli, pdo надо разбирать ответ как ассоциативный массив.

    Например: mysql_fetch_assoc для mysql или в pdo за это отвечает setFetchMode с параметрами PDO::FETCH_ASSOC

    Тогда при разборе ответа таким образом:

    foreach($rows as $k=>$v) { ... }

    Имена колонок будут в переменной $k

    Однако реальные имена колонок так получить не представляется возможным.

    Самый простой способ это выполнить запрос такого вида:

    SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'my_table' ORDER BY ORDINAL_POSITION

    Но я так понял что запрос ты модешь выполнить только один?
    Последний раз редактировалось ul1k317; 29.07.2014 в 22:04.
    php, mysql, mssql, js, html, css, ajax, administrating, it consulting, etc.

  4. #4
    Аватар для Suicidemouse

    Статус
    Offline
    Регистрация
    02.12.2013
    Сообщений
    351
    Репутация
    149 + / -
    Безопасность
    Только сейчас понял что наебал с элементами массива) Так походу правильнее XiYj где i=0 ; j=[2;5]
    «Вози кусты и героин, а то останешься рабом» © Буравчик

  5. #5
    Trust
    TopicStarter
    Админ негодует :3
    Аватар для admin

    Статус
    Online
    Регистрация
    27.07.2013
    Сообщений
    1,439
    Репутация
    159 + / -
    Безопасность
    Цитата Сообщение от ul1k317 Посмотреть сообщение
    Все просто, если я понял суть вопроса. В любом случае mysql, mysqli, pdo надо разбирать ответ как ассоциативный массив.

    Например: mysql_fetch_assoc для mysql или в pdo за это отвечает setFetchMode с параметрами PDO::FETCH_ASSOC

    Тогда при разборе ответа таким образом:

    foreach($rows as $k=>$v) { ... }

    Имена колонок будут в переменной $k
    То, что нужно! Спасибо.
    [Только зарегистрированные могут видеть это. ]
    JID: [Только зарегистрированные могут видеть это. ] - пока не сижу там, только ЛС.

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  

Информация на сайте предоставлена исключительно в ознакомительных целях, использование знаний в противозаконных целях преследуется по закону! Администрация не несет ответственности за ваши деяния.