Так что все ниндзя кодирования там, я недавно начал исследовать мир веб-разработки (и это просто потрясающе, я должен сказать). Я застрял в проблеме.
Что я делаю : Мой HTML выглядит примерно так
<ul data-role="listview" >
<!-- List items come here -->
</ul>
Эти элементы списка генерируются динамически с помощью вызова AJAX функции PHP (я думаю использовать разбиение на страницы, поскольку данные в UL могут расти).
До сих пор я использую один пользовательский сценарий (только один пользователь одновременно получает доступ к веб-сайту). Данные выглядят нормально для меня.
проблема Теперь я думаю об увеличении присутствия пользователей. Многие пользователи одновременно входят в систему. Я столкнусь с такой ситуацией:
Пользователь A: сгенерировал UL с текущим сценарием в БД (скажем 10 строк )
Пользователь B входит и ударил освежить мой UL и ушел! У пользователя А больше не будет набора данных, с которым он / она работал, и теперь у него есть 12 рядов (БД Таблица получила еще 2 вставки)
Вопрос Простите, если я задаю немой вопрос. Как мне преодолеть этот многопользовательский сценарий доступа к тем же данным, но не влияя на других пользователей?
Было бы очень полезно, если бы данное решение было легко усвоено таким начинающим, как я 🙂
Редактировать :
Позвольте мне привести пример:
Пользователь A вошел в систему:
В настоящее время у меня есть 5 строк в БД, как
так что мой UL будет выглядеть примерно так:
<ul data-role="listview" id="authors">
<li>Hamlet</li>
<li>Macbeth</li>
<li>Brutus</li>
<li>Caesar</li>
<li>William</li>
</ul>
Сейчас Пользователь B Войти и там была дополнительная вставка в БД
так мой UL должен выглядеть (только для пользователя B, а не для пользователя A)
<ul data-role="listview" id="authors">
<li>Hamlet</li>
<li>Macbeth</li>
<li>Brutus</li>
<li>Caesar</li>
<li>William</li>
<li>Antonio</li>
</ul>
Мое лучшее предположение: добавьте в таблицу столбец с данными, которые содержат идентификатор пользователя, которому принадлежат данные
Затем выберите эти данные из вашей таблицы, где идентификатор пользователя соответствует текущему пользователю, запрашивающему данные
+--------+------+ +--------+---------+--------+
| UserID | Name | | ItemID | Content | UserID |
+--------+------+ +--------+---------+--------+
| 1 | John | | 123 | Lorem.. | 2 | <-- This row belongs to Bill
| 2 | Bill | | 124 | Lipsu.. | 1 | <-- This row belongs to John
| 3 | etc. | +--------+---------+--------+
+--------+------+
-- This query would select data belonging to the user Bill
SELECT `Content` FROM `yourdatatable` WHERE `UserID` = 2
Других решений пока нет …