Страница 3 из 3

Re: Сортировка по очкам из базы

Добавлено: 19 янв 2012, 23:17
Влад
Возможно, я опять не туда лезу, может нужно из ява отправлять строку всех пользователей в пхп, и там уже как-то сортировать массивом и делать выборку по одному?

Re: Сортировка по очкам из базы

Добавлено: 20 янв 2012, 19:53
Александр
Влад
Так ты бы текст ошибок писал хотя бы...
Уверен что friends.getAppUsers доступен с сервера? friends.get доступен.
Влад писал(а):Возможно, я опять не туда лезу, может нужно из ява отправлять строку всех пользователей в пхп, и там уже как-то сортировать
Можно и так. Пробуй.
Влад писал(а): и делать выборку по одному?
чего?

Ну и имей ввиду, что выполняя какие-то действия на сервере, ты его нагружаешь.
Понимать это всё надо... Понимать...

Re: Сортировка по очкам из базы

Добавлено: 26 янв 2012, 16:35
Влад

Код: Выделить всё

VK.init(function() {      $VK = new vkapi($api_id, $api_key);$resp = $VK->api('friends.get', array('uid'=>$viewer_id,'fields'=>'photo')); $count = sizeOf($resp['response']);// через цикл forfor ($i=0; $i<$count; $i++) { $ph = $resp['response'][$i]['uid'].','; $query = "SELECT * FROM users WHERE uid='$ph' ORDER BY point";$sql = @mysql_query($query);  while ($sql_data = @mysql_fetch_array($sql)) {         echo " ".$sql_data['name']." ";        }                }
По сабжу Александр грубо говоря столкнулся с такой проблемой, что сортировка не происходит опять, выводит все как надо, но не сортирует, в чем проблема может быть?

Re: Сортировка по очкам из базы

Добавлено: 26 янв 2012, 21:12
Александр
Влад писал(а):VK.init(function() {
Это что здесь?

В цикле делаешь много обращений к базе? У тебя свой мощный сервер и ты специально так делаешь.
Логики в коде не увидел.

Изучи запросы к sql. Про WHERE uid IN (1,2,3).

И главное не тупо попробуй копировать, а пойми, разберись. Уже бы давно разобрался и сделал что хотел.

На листке бумаги опиши для себя логику работы. Блок-схему составь...

Re: Сортировка по очкам из базы

Добавлено: 27 янв 2012, 15:09
Влад

Код: Выделить всё

$query = "SELECT * FROM users WHERE uid IN ($ph) ORDER BY points DESC";$sql = mysql_query($query);
Все равно не сортирует

Re: Сортировка по очкам из базы

Добавлено: 27 янв 2012, 21:59
Александр

Код: Выделить всё

$friends_uids = '1,2,1306422'; // сюда напиши id через запятую, которые нужно выбирать$query = 'SELECT * FROM users WHERE uid IN ('.$friends_uids.') ORDER BY points DESC';echo $query.'<br />'; // эта строка выведет запрос, выполни его через phpMyAdmin и посмотри результат$sql = mysql_query($query);while ($sql_data = mysql_fetch_array($sql)) {         echo $sql_data['uid'].'<br />';}

Re: Сортировка по очкам из базы

Добавлено: 27 янв 2012, 22:41
Влад
Все почти получилось, последняя формальность, как убрать запятую в конце всей строки?

Код: Выделить всё

$ph = $resp['response'][$i]['uid'].',';$lolka =  substr($ph, 0, strlen($ph)-1); 
так не выходит

Re: Сортировка по очкам из базы

Добавлено: 27 янв 2012, 22:45
Александр

Код: Выделить всё

$str = substr($str, 0, -1);