2017-01-06 3 views
0

[Задать] Пожалуйста, помогите, например, есть получение данныхКак выбрать * заказать по имени пользователя?

tbl_user 
| Id | name | 
| 1 | Bayu | 
| 2 | Indra | 
| 3 | Rangga | 

tbl_data 
| Id | userId | items | 
| 1 | 1 | Knife | 
| 2 | 3 | CD | 
| 3 | 1 | Rose | 
| 4 | 3 | HP | 
| 5 | 2 | Honey | 
| 6 | 1 | cups | 
| 7 | 1 | Yarn | 
| 8 | 2 | Shoes | 

Я хочу, чтобы отсортировать данные по пунктам таблицы данные регистрируются только доступ пользователей так, например, когда пользователь Бает вошли в сортировочных результатах данных является сама вершина и данных сохраняется

userId | items | 
1 | Yarn | 
1 | cups | 
1 | Knife | 
1 | Rose | 
2 | Honey | 
2 | Shoes | 
3 | CD | 
3 | HP | 

когда Индра Войти результатам сортировки:

userId | items | 
2 | Honey | 
2 | Shoes | 
1 | Yarn | 
1 | cups | 
1 | Knife | 
1 | Rose | 
3 | CD | 
3 | HP | 

или ш hen Rangga login

userId | items | 
3 | CD | 
3 | HP | 
1 | Yarn | 
1 | cups | 
1 | Knife | 
1 | Rose | 
2 | Honey | 
2 | Shoes | 

Как запросить (MySQL) выберите его?

ответ

2

Попробуйте это:

select userId, items 
from tbl_data 
order by userId=:userId desc, userId asc; 

Например, если Индра вошел в:

select userId, items 
from tbl_data 
order by userId=2 desc, userId asc; 
0

изображений, когда пользователь Войти, будет $ USERID передать на странице:

$sql = " 
SELECT userId,items 
FROM tbl_data 
ORDER BY if (userID = $userId, 0, userId)"; 
0

Не самый элегантный, но это должно сделать трюк:

SELECT userID, items FROM tbl_data, tbl_user where userId=tbl_user.id AND tbl_user.name=CURRENT_USER() 
UNION 
SELECT userID, items FROM tbl_data, tbl_user WHERE userId<>tbl_user.id AND tbl_user.name=CURRENT_USER(); 
0

Прежде всего, вы должны userIDorder by с авторизованным пользователем, а затем закажите его другим пользователям по возрастанию и убыванию.

select userId, items 
from tbl_data 
order by FIELD(userId , $userId) desc, userId asc; 
Смежные вопросы