Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Запросы к нескольким таблицам
Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2014
Помог: 0 раз(а)
Здравствуйте. Есть такой вопрос. У меня существуют две таблицы с данными: первая таблица предназначена для заказов и состоит из разных полей, но нужными являются только поля с id пользователя и id книги. Вторая таблица содержит информацию о самих книгах, в числе полей которой, разумеется, есть и id книги. Мне необходимо вывести книги, заказанные конкретным пользователем. Сделать я это хочу путем вытягивания всех заказов с id данного пользователя и основываясь на id книги выводить информацию по ней уже из таблицы с к книгами. При таком запросе мне, конечно, выводится только первая встречающаяся книга пользователе в таблице заказов:
Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013
Помог: 5 раз(а)
честно говоря непонятно Вы какие-то куски кода показали, к тому то что хотите получить по все видимости малоотносящиеся, покажите весь код с запросом и обработкой его
supernick
Отправлено: 30 Июля, 2014 - 16:11:47
Новичок
Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2014
Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2014
Помог: 0 раз(а)
Tyoma5891 пишет:
и что же Вы в этом запросе пытаетесь получить? что у Вас в поле id находится?
id книги там находится. Мне нужно вытащить данные по определенным книгам из таблицы с книгами. А запрос должен основываться на id пользователя, который хранится в сессии и id книги из таблицы с заказами. В моем запросе выводится только первая книга, если их несколько. А я хочу вытащить их все. (Добавление)
esterio пишет:
И здесь товарищ Жопов
Культурного человека сразу видно. И автор статьи не отстает. Но за замечание, спасибо. Хочу научиться писать код максимально эффективно, так что приму к сведению.
Tyoma5891
Отправлено: 30 Июля, 2014 - 17:05:53
Частый посетитель
Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013
Помог: 5 раз(а)
supernick пишет:
Tyoma5891 пишет:
и что же Вы в этом запросе пытаетесь получить? что у Вас в поле id находится?
id книги там находится. Мне нужно вытащить данные по определенным книгам из таблицы с книгами. А запрос должен основываться на id пользователя, который хранится в сессии и id книги из таблицы с заказами. В моем запросе выводится только первая книга, если их несколько. А я хочу вытащить их все.
теперь я что-то вообще ничего не пойму в поле id таблицы books число как я понял тоесть айди книги, здесь вы получаете название этой книги относительно пользователя:
$result=mysql_query("SELECT id,author,name,genre,izdatel,date FROM books WHERE id = '$book'",$link) or die(mysql_error());
вы хотите что мускуль Вам вернул результат где в числовое поле айди Вы подставляете название книги, странно что вообще выдается результат в таком случае)
supernick
Отправлено: 30 Июля, 2014 - 17:13:24
Новичок
Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2014
Помог: 0 раз(а)
Все верно. Я хочу вытянуть заказы относительно пользователя из таблицы vid и при выводе заменить id книги на данные об этой книге из таблицы books. Код работает, но выдача ограничивается первой попавшейся книгой из таблицы заказов. А мне нужно, чтобы выводились все заказанные книги.
Tyoma5891
Отправлено: 30 Июля, 2014 - 17:40:02
Частый посетитель
Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013
Помог: 5 раз(а)
supernick пишет:
Все верно. Я хочу вытянуть заказы относительно пользователя из таблицы vid и при выводе заменить id книги на данные об этой книге из таблицы books. Код работает, но выдача ограничивается первой попавшейся книгой из таблицы заказов. А мне нужно, чтобы выводились все заказанные книги.
а зачем Вы разделяете на четные и нечетное записи к тому же ещё и неправильно это условие if ($i % 2 == 1) будет работать только для $i = 5 и все)) все остальное попадет в елсе, а если у Вас там только до 2 записей то выведется всего лишь одно все правильно)
Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2014
Помог: 0 раз(а)
Tyoma5891 пишет:
а зачем Вы разделяете на четные и нечетное записи к тому же ещё и неправильно это условие if ($i % 2 == 1) будет работать только для $i = 5 и все)) все остальное попадет в елсе, а если у Вас там только до 4 записей то выведется всего лишь одно все правильно)
Я делю из затем, чтобы раскрасить записи таблички, которая получается во время вывода, в разные цвета, для более удобного чтения. У меня в таблице 12 элементов и условие прекрасно работает.
Tyoma5891
Отправлено: 30 Июля, 2014 - 17:50:23
Частый посетитель
Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.