{% else-1 %}
Обновить
* Тема закрыта!
1.
iNvAyT * 1.53
[автор] (7 июн 2015, 16:23) [0/0] [0] [спам] [под]

Работы с sql - не люблю с ней работать... Не понимаю просто ее...

Кусок вывода тех кто находится в одном клане:
<?
$q = mysql_query('SELECT * FROM `clan_memb` WHERE `clan` = "'.$i['id'].'" ORDER BY `rank` DESC,`exp` DESC LIMIT '.$start.', '.$max.'');
while($row = mysql_fetch_array($q)) {

$memb = mysql_query('SELECT * FROM `users` WHERE `id` = "'.$row['user'].'"');
$memb = mysql_fetch_array($memb);
?>

Мне надо только тех кто не состоит в клане... Можно конечно создать в колонке юзера еще одну строку типа clan если состоит в клане, то там 1, если не состоит, то 0, но это не удобно...

Помогите) В долгу не останусь...


Изм. 1 раз. / Посл. изм.
iNvAyT * 1.53
(7 июн 2015, 16:24)
2.
SampleR * [мошенник] 1.22
(7 июн 2015, 16:28) [0/0] [0] [спам] [под]

сделай проверку,если id юзера не существует в таблице $i['user_id'] то выводи его

3.
RonsoN * 1.08
(7 июн 2015, 16:49) [0/0] [0] [спам] [под]

"Работы с sql - не люблю с ней работать... Не понимаю просто ее..." - лол, просто лол

4. (7 июн 2015, 16:52) [0/0] [0] [спам] [под]

100500 sql. Бедный сервер *

5.
Anvar * 3.33
(7 июн 2015, 16:54) [0/0] [0] [спам] [под]

Твой кусок кода
WHERE `id` = "' . $row['user'] . '"

заменить на

WHERE `id` != "' . $row['user'] . '"

Весь код не правильный, не оптимизированный. Слишком много обращений к БД.

6.
Gallardo * [мошенник] 9.95
(7 июн 2015, 16:55) [0/0] [0] [спам] [под]

Join в помощь,ёпт *
Добавлено 07.06.15 в 17:03:35:
<?php
$query=mysql_query("SELECT `clan_member`.* ,`users`.* FROM `clan_member` LEFT JOIN `users` ON `clan_member`.`user` = `users`.`id` AND `clan_member`.`clan` != '".$i['id']."' ORDER BY `clan_member`.`rank` DESC,`clan_member`.`exp` DESC LIMIT ".$start.", ".$max.""*;

while($row_user = mysql_fetch_array($query)){
//Выводишь шлёпанца
}
?>


Изм. 2 раз. / Посл. изм.
Gallardo * [мошенник] 9.95
(7 июн 2015, 17:07)
7.
Anvar * 3.33
(7 июн 2015, 17:09) [0/0] [0] [спам] [под]

Может быть ещё проще пройдёт, без LEFT JOIN

<?

$q = mysql_query('SELECT c.*, u.* FROM `clan_memb` c, `users` u WHERE `c.clan` = "' . $i['id'] . '" AND u.id != c.user ORDER BY `rank` DESC,`exp` DESC LIMIT '.$start.', '.$max.'');

while($row = mysql_fetch_array($q)) {

?>

8.
iNvAyT * 1.53
[автор] (7 июн 2015, 20:52) [0/0] [0] [спам] [под]
RonsoN,

*

9.
iNvAyT * 1.53
[автор] (7 июн 2015, 21:02) [0/0] [0] [спам] [под]
Anvar,

Не одно из всех вариантов не работает...
Добавлено 07.06.15 в 21:04:19:
Вобще х с ним, сделаю как хотел, всем спасибо за помощь, тролям х по самое горло!

10.
iNvAyT * 1.53
[автор] (7 июн 2015, 21:04) [0/0] [0] [спам] [под]

Тема закрыта для обсуждения! *

  • 1 из 1
Подписаны: 0
Скачать тему | Файлы темы | Фильтр сообщений