Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Выборка значений из 2-х одинаковых id
#1
Привет всем, вот у меня вопрос:

У меня есть таблица с друзьями, в ней есть
id | inviteid | friend
--+--+--+
1 | 2 | информация1 |
--+--+--+
2 | 2 | информация2 |
--+---+--+
3 | 2 | информация3 |
--+--+--+

вот мой запрос
SELECT id,inviteid,friend FROM friends where inviteid='{$_SESSION["id"]}' LIMIT 6

Когда вывожу у меня оно пишет 3 раза первое значение..

то есть: выводит 3 раза Информация1, а мне нужно что бы оно выводило все информации с id2...То есть: Информация1 | Информация2 | Иформация3
Мой сайт - pc-soft.in [РеКлАма].........Я тебе помог???Клацай "Спасибо"и +
Ответ
#2
ORDER BY `friendid` ?

[src=sql]SELECT * FROM `table1` WHERE `inviteid` = 2 ORDER BY `friendid` LIMIT 0, 6;[/src]
Ответ
#3
GROUP BY `friendid` ? Big Grin
[src=sql]SELECT * FROM `table1` WHERE `inviteid` = 2 GROUP BY `friendid` LIMIT 0, 6;[/src]
Ордер же это сортировка.. а ему нужно выбрать уникальные значения... Хотя может что-то не правильно понял.. :_smile_:
Ответ
#4
Обновил первый пост, посмотрите народ плз
Мой сайт - pc-soft.in [РеКлАма].........Я тебе помог???Клацай "Спасибо"и +
Ответ
#5
Bumerok Написал:Обновил первый пост, посмотрите народ плз

Тебе Ro0TT дал верный запрос. Либо опиши проблему конкретнее. =\
Ответ
#6
я делал запрос то что дал Роот, теперь оно выводит тоже самое только 2 значения
Мой сайт - pc-soft.in [РеКлАма].........Я тебе помог???Клацай "Спасибо"и +
Ответ
#7
Bumerok Написал:я делал запрос то что дал Роот, теперь оно выводит тоже самое только 2 значения

:facepalm:

Код:
mysql> select * from friends where inviteid=2 group by friend limit 6;
+----+----------+--------+
| id | inviteid | friend |
+----+----------+--------+
|  1 |        2 | info1  |
|  2 |        2 | info2  |
|  3 |        2 | info3  |
+----+----------+--------+
3 rows in set

Или же вывод только поля "friend"
Код:
mysql> select friend from friends where inviteid=2 group by friend limit 6;
+--------+
| friend |
+--------+
| info1  |
| info2  |
| info3  |
+--------+
3 rows in set
mysql>

RTFM, блджад.
Ответ
#8
У меня выводит одно и тоже ..

Добавлено через 1 минуту
Код:
<?php
    if($_SESSION["id"] == $_GET["id"]){
    $query = "
    
select friendname,friendlastname,mini_avatar from friend_list where inviteid='{$_SESSION["id"]}' group by friendid limit 6
    ";

    }
    if($_SESSION["id"] != $_GET["id"])
    {
    $query = "SELECT * FROM `friend_list` WHERE `inviteid` = '{$_GET["id"]}' ";
    
    }
    $result = mysql_query($query);
    $mfrow = mysql_fetch_array($result);
    
     if(mysql_num_rows($result) > 0) {
    
do{
    ?>
    <div style="margin:2px 2px 2px 2px;float:left;">
    <a href="?id=<?php echo $mfrow["friendid"] ?>"><?php echo '<img src="'.$mfrow["mini_avatar"].'" width="50" height="50" /><BR>'.$mfrow["friendname"].' <BR>'.$mfrow["friendlastname"];  ?></a><BR>
    </div>
<?php }
while($mfrrow = mysql_fetch_array($result));

}else{
echo 'У вас пока нет друзей';
} }
?>
вот php код выборки
Мой сайт - pc-soft.in [РеКлАма].........Я тебе помог???Клацай "Спасибо"и +
Ответ
#9
Цитата:Ордер же это сортировка..
Это понятно, но вчера там и требовалось вывести 3, 4, 6 и тот запрос успешно с этим справляется. А GROUP там совершенно не нужен.

Вот это код. А что он должен сделать? В цикле $mfrrow а юзается $mfrow который вне цикла для чего-то сделан.
Ответ
#10
[src=sql]select * from friends where inviteid=2 group by friend limit 6;[/src]
Ну так попробуй.. не понятно, что ты хочешь.
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 4 Гость(ей)