0 / 0 / 0
Регистрация: 24.01.2024
Сообщений: 5

Вывод записей из базы данных для каждого посетителя сайта свои

18.02.2024, 21:16. Показов 610. Ответов 4
Метки php, sql (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день форумчане, помогите с решением вопроса,
имеется база данных "basic" с названиями столбцов например: "id, tittle, disc"
так же имеется база данных "users" с названиями столбцов например: "user_id, login, pass"
так же имеется база данных "favour" с названиями столбцов например: "id, tittle, disc"

теперь сам вопрос, нужно чтобы каждый пользователь мог добавлять свою информацию из таблицы "basic" в таблицу "favour" и чтобы другой пользователь не видел какая информация у других пользователей имеется в "favour", это таблица на сайте называется "избранное".
к примеру: зашел пользователь "user1" из списка в таблице "basic" взял записи под ID=1 и ID=2 добавил себе в список избранного таблица "favour", второй пользователь "user2" из списка в таблице "basic" взял записи под ID=3 и ID=4 добавил себе в список избранного таблица "favour", теперь эти пользователи могли видеть только то что они сами себе добавили, как это реализовать?
в других источниках пишут нужно просто сделать запрос такого вида:
SQL
1
SELECT * FROM basic WHERE id = 'номер ID users' ;
но так код не работает.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.02.2024, 21:16
Ответы с готовыми решениями:

Вывод данных из базы для каждого пользователя, для профиля
У меня есть такой класс и в нем функция(class Users) - public function data($param) { global $database; ...

Вывод записей из базы данных
Здравствуйте! я совсем новичок, так что сильно не пинайте :) Решил изучать и одновременно делать простенькие приложения, так легче...

Вывод записей из базы данных
Есть 2 таблицы И в 3 поля A_id,A,B_num в тоже 3 поля B_id,A_id,B В к примеру 2 записи A_id => '1', B_num => '1' A...

4
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3971 / 2093 / 832
Регистрация: 13.03.2010
Сообщений: 6,916
18.02.2024, 23:04
Цитата Сообщение от Krasavchik_13 Посмотреть сообщение
но так код не работает.
И не будет так, как хотите. Нужно связывать юзера и другую сущность в отдельной таблице и уже на основе этого выводить.
0
0 / 0 / 0
Регистрация: 24.01.2024
Сообщений: 5
18.02.2024, 23:20  [ТС]
А как нужно правильно создать запрос, можешь написать пример, и за одно как создать запрос на добавление данных от пользователя, чтобы потом он мог смотреть свои добавленные данные, тоже если не затруднит напишите пример, заранее большое спасибо !
0
Эксперт PHP
 Аватар для liris
5127 / 1086 / 160
Регистрация: 16.01.2023
Сообщений: 2,681
19.02.2024, 10:22
Лучший ответ Сообщение было отмечено gogolik как решение

Решение

Цитата Сообщение от Krasavchik_13 Посмотреть сообщение
так же имеется база данных "favour" с названиями столбцов например: "id, tittle, disc"
Не надо так. У вас уже есть title и disc в basic, зачем вам дублировать эту информацию?

Если вам нужно просто связать, достаточно полей типа id_user (идентификатор пользователя из таблицы users, можно сделать foreign key), id_basic (идентификатор записи в таблице basic, можно сделать foreign key), можно добавить поля с дополнительной информацией о добавленном действии, например actual (является ли запись актуальной), date_added (дата добавления записи), date_removed (дата удаления записи) и т.д.

Primary key можно сделать либо составным (будет уникальная связка id_user + id_basic), либо сделать еще поле id. Но в любом случае на поля id_user и id_basic я рекомендую накинуть индексы.

P.S. Почитайте про нормализацию баз данных.

Добавлено через 18 минут
То есть у вас есть basic - id, title, disc. Есть favour - id, id_user, id_basic
Вам нужно вытащить все записи, которые пользователь с идентификатором 4 добавил в избранное:

SQL
1
2
3
SELECT b.* FROM favour f
LEFT JOIN basic b ON f.id_basic = b.id
WHERE f.id_user = 4
0
0 / 0 / 0
Регистрация: 24.01.2024
Сообщений: 5
19.02.2024, 18:41  [ТС]
если я правильно понял то запрос можно сделать так:

SQL
1
2
3
4
SELECT users.login, favour_words.title 
FROM users 
INNER JOIN favour_words 
ON users.user_id=1 = favour_words.id=151
обращаться по примари ключу и соединить обе базы это вы имеете ввиду?

Добавлено через 4 минуты
ой пока я писал ответ, вы уже мне написали свой ответ))
хорошо с соединением баз я понял спасибо "liris".
следующий вопрос и он же последний, теперь как пользователь может добавлять в базу "favour" свои данные так чтобы другие пользователи не видели, это тоже составляется запросом или это нужно какой то функционал делать на сайте ?

Добавлено через 2 часа 21 минуту
кажется я понял как это сделать, напишу решение, мне нужно добавить еще одно поле в таблице "favour" например "id_author" этот столбец будет отвечать за "номер ID пользователя" и каждый раз при добавлении записи добавлять этот "id_author" далее выгружать все записи по этому id_author к примеру возьмем
это вывод информации title, disc для id_author=1:
таблица favour
SQL
1
2
3
SELECT title, disc
FROM users 
WHERE id_author=1
а так записывать в базу:
SQL
1
INSERT INTO favour(tittle, disc, id_author) VALUES (‘название’, 'описание', номер пользователя по базе)
итог получается я выведу все записи под пользователем id_author=1 например это будет user1 и получается так будет у каждого!
если я неправ поправьте!!!

Добавлено через 1 минуту
Цитата Сообщение от liris Посмотреть сообщение
Если вам нужно просто связать, достаточно полей типа id_user (идентификатор пользователя из таблицы users, можно сделать foreign key), id_basic (идентификатор записи в таблице basic, можно сделать foreign key), можно добавить поля с дополнительной информацией о добавленном действии, например actual (является ли запись актуальной), date_added (дата добавления записи), date_removed (дата удаления записи) и т.д.
Primary key можно сделать либо составным (будет уникальная связка id_user + id_basic), либо сделать еще поле id. Но в любом случае на поля id_user и id_basic я рекомендую накинуть индексы.
спасибо liris

Добавлено через 5 часов 41 минуту
Думаю вопрос решен, можно тему закрывать!

спасибо всем за помощь!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.02.2024, 18:41
Помогаю со студенческими работами здесь

случайный вывод записей из базы данных
Подскажите, как можно выводить записи из БД рэндомом? И еще вопрос: как посчитать общее кол-во записей в таблице? Спасибо.

Вывод записей из базы данных в определенном порядке
Здравствуйте! Скажем так, в базе данных есть десять статьей. Для того чтобы вывести последние три новости я написал вот так: ...

Вывод из базы данных с ссылками на редактирование записей
Доброго времени суток. Только начинаю изучать php и mysql как вывести данные из таблицы разобрался. А как сделать скажем первую...

Вывод записей из базы данных через нажатие кнопки
Добрый день уважаемые форумчани!) помогите пож-та с решением вопроса, возможно для вас он будет легким, но мне как начинающему он сложный,...

Вывод количества посетителей онлайн, зная даты захода и выхода каждого посетителя
Здравствуйте. Голову сломал, не могу придумать решение. Помогите, пожалуйста. mysql> describe visits; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru