Повтаряне на резултат от SQL заявка.

oniq

Registered
Каква може да е причинита, че да ми повтаря резултата от 1 заявка 3-пъти.
Вади ми 1 резултат 3 пъти в цикъла.

Код:
$q = "
SELECT 
`users`.`username`, users.last_click_time,`users`.`sex`, `users`.`birth_time`,`users`.`city`, `users`.`avatar`, 
`comments`.`id` as `com_id`, `comments`.`comment` , `comments`.`time` 
FROM `comments` , `users` WHERE `to`=".$user['id']."
";
 
Заявката ми се изпълнява 1път. Но, от нея вади 3 резултата а има 1 запис в БД.
Както и да го въртя суча в цикъла пак се налага да използвам ( echo ) да извадя резултата.
 
Заявката ми се вижда доста обърката пробвай така:
PHP:
$q = "SELECT * FROM comments WHERE to='$user[id]'";
 
baceto90 каза:
Заявката ми се вижда доста обърката пробвай така:
PHP:
$q = "SELECT * FROM comments WHERE to='$user[id]'";

Брато така си работи, и ми е пределно ясно. Но се изпълнява много по-бавно. А в сайт с много посещения това товари процесора. :?:
Все пак като ще се прави, да е както трябва. :)
 
oniq каза:
Каква може да е причинита, че да ми повтаря резултата от 1 заявка 3-пъти.
Вади ми 1 резултат 3 пъти в цикъла.

Код:
$q = "
SELECT 
`users`.`username`, users.last_click_time,`users`.`sex`, `users`.`birth_time`,`users`.`city`, `users`.`avatar`, 
`comments`.`id` as `com_id`, `comments`.`comment` , `comments`.`time` 
FROM `comments` , `users` WHERE `to`=".$user['id']."
";
Нормално е да е да се повтарят резултати, понеже селектваш дефакто от две таблици, с еднакви резултати.
Виж как се ползва LEFT JOIN-а и си оправи заявката (по възможност, ако го позволява структурата на таблиците), или групирай по полето, което се повтаря, макар че от две таблици ... трудно ще постигнеш задоволителен ефект.
 

Back
Горе