За последние 24 часа нас посетили 22316 программистов и 1173 робота. Сейчас ищут 685 программистов ...

Вывод названия по id из другой таблицы

Тема в разделе "PHP для новичков", создана пользователем MrSullex, 14 авг 2016.

  1. MrSullex

    MrSullex Активный пользователь

    С нами с:
    15 сен 2015
    Сообщения:
    122
    Симпатии:
    1
    Имеется 2 таблицы, notes_dir и notes. Задача: из поля id в notes_dir получить значение поля name в notes. id из notes_dir хранится в id_dir таблицы notes.

    P.S. не судите строго за объяснения, не знаю как описать проще
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
  3. MrSullex

    MrSullex Активный пользователь

    С нами с:
    15 сен 2015
    Сообщения:
    122
    Симпатии:
    1
    Составил что то типа этого
    Код (PHP):
    1. $notes_dir=mysql_fetch_array(mysql_query("SELECT * FROM notes s JOIN notes_dir p ON s.id_dir=p.id WHERE `id` = $post[id] LIMIT 1"));
    Вывод
    Код (PHP):
    1. '.$notes_dir['name'].'
    Но явно что то не то, потому что выхлоп
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    1. Ты неправильно встраиваешь значение переменной в строку. Рекомендую обратить внимание на синтаксис с фигурными скобками - работает в ряде япов.
    2. Ты используешь константу в качестве ключа массива.
     
  5. MrSullex

    MrSullex Активный пользователь

    С нами с:
    15 сен 2015
    Сообщения:
    122
    Симпатии:
    1
    Вообще не могу понять как это происходит, работаю с этим первый раз, примеры не помогают...
     
  6. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    С чем ты работаешь первый раз? С массивами в пхп? Со встраиванием значений в строки в пхп?
    Исправь эти недочеты и вполне возможно получишь рабочий запрос, который будет получать нужные тебе данные. Пока из-за некорректной встройки значений - запрос неверный. Его выполнение заканчивается ошибкой. Попытка получения кортежа из ошибки тоже не дает положительного результата. Видал какая цепочка? А всё из-за незнания азов.
     
  7. MrSullex

    MrSullex Активный пользователь

    С нами с:
    15 сен 2015
    Сообщения:
    122
    Симпатии:
    1
    Короче, голову себе и вам только задурил, решил все с помощью

    Код (PHP):
    1. $notes_dir=mysql_fetch_array(mysql_query("SELECT * FROM `notes_dir` WHERE `id` = $post[id_dir] LIMIT 1"));
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    Это не повод писать нестабильный код
     
  9. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Если строка указана в двойных кавычках, туда можно вставить переменную таким образом. Ведь работает без проблем :)
     
  10. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    @mahmuzar тут речь уже немного не о том, что так работает, а о переносимости кода. Вставить значение в строку - добавить пару символов. Использовать вне подстановки в строку - добавлять по несколько символов каждый раз.