Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 24.01.2024
Сообщений: 5

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

18.02.2024, 21:16. Показов 549. Ответов 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
3949 / 2056 / 829
Регистрация: 13.03.2010
Сообщений: 6,765
18.02.2024, 23:04
Цитата Сообщение от Krasavchik_13 Посмотреть сообщение
но так код не работает.
И не будет так, как хотите. Нужно связывать юзера и другую сущность в отдельной таблице и уже на основе этого выводить.
0
0 / 0 / 0
Регистрация: 24.01.2024
Сообщений: 5
18.02.2024, 23:20  [ТС]
А как нужно правильно создать запрос, можешь написать пример, и за одно как создать запрос на добавление данных от пользователя, чтобы потом он мог смотреть свои добавленные данные, тоже если не затруднит напишите пример, заранее большое спасибо !
0
Эксперт PHP
 Аватар для liris
4380 / 1020 / 154
Регистрация: 16.01.2023
Сообщений: 2,523
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
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru