2013-08-17 3 views
1

Я работаю над чат-приложением с HTML, jQuery, PHP и MySQL. Моя программа выглядит так: слева у вас есть панель пользователей, где вы можете найти всех пользователей (программа также отображает, находится ли пользователь в сети или нет, но это я могу обработать). При щелчке пользователя из списка, он генерирует перемещаемую контейнер DIV, который выглядит следующим образом:Как получить значения из MySQL и распечатать их в PHP

<div class="container"><div class="head"></div><div id="conversation"></div></div>

Спецификация: класс «голова» используется только для отображения партнера аватара и переключить «разговор» div на клик.

Моя проблема:

Я думаю, я буду загружать разговор внутри «разговор» с использованием AJAX DIV и JavaScript, так что будет обновить DIV без обновления страницы. Пользователь будет открывать несколько пользовательских разговоров за раз, поэтому мне нужно понять, как определить, какой разговор загружать в каждом div. Я застрял здесь.

Дополнительно: Я хочу, чтобы пользователь увидел, когда партнер увидел это сообщение, но я думаю, что смогу отобразить «Виден в DATE». когда conversation установлен на видимый. Если у вас есть другое предложение, не стесняйтесь объяснять.

Вся информация взята из базы данных MySQL.

Моя функция PHP дисплей выглядит следующим образом:

<?php 

include_once('connect.php'); 

$you = $SESSION['user']; 
$takeconversation = "SELECT * FROM conversations WHERE sender='$partner' AND receiver='$you' OR sender='$you' AND receiver='$partner'"; 
$dotake = mysqlquery($takeconversation); 
?> 

Так $you является $SESSION['user'], но мне нужно добавить идентификатор, чтобы дать значение $partner, так $partner будет иметь различное значение для каждого разговора DIV ,

+4

Я не могу понять, каков ваш фактический вопрос здесь, но у вас есть вопиющая уязвимость SQL-инъекций. Я предлагаю вам ознакомиться с PDO и параметризованными запросами. – geoffspear

+0

Я знаю, я воссоздаю код выбора, чтобы предотвратить это. Позвольте мне объяснить: у меня есть таблица SQL с этими полями: id - sender - receiver - сообщение , когда пользователь открывает окно (div) из списка друзей, он принимает все сообщения, в которых отправитель является пользователем и получателем. партнером или отправителем является партнер, а получатель - пользователь. Но мне нужно сделать это в нескольких окнах за раз, поэтому он будет выбирать разговор с другим другом в другом div. Как и в чате Facebook: вы можете общаться с несколькими друзьями одновременно. – Rawrrr1337

+0

Вопрос заключается в следующем: как определить партнера и отобразить разговор с этим партнером для каждого раскрытого div? – Rawrrr1337

ответ

0

Я рекомендую вам подсчитать количество разговоров, создать <div> для каждого из них и добавить их на главный сайт. См. How can I create and style a div using JavaScript? Дайте содержательные имена, например NUMBER_PARTNERNAME, либо ID, либо name из div, чтобы вы могли более легко связаться с ним.

+0

Если вы идентифицируете партнера по id/имени div, вы всегда должны убедиться, что у пользователя есть разрешение на отправку этому конкретному партнеру, используя mysql и php. (Это зависит от применения курса). В противном случае пользователь может просто использовать инструменты dev или аналогичные и изменить id/name div. –

1

Во-первых, функция mysql_query, а не mysqlquery. Во-вторых, сравнение строк в mysql лучше работает с оператором LIKE (по крайней мере, для меня это похоже на случай).