Помогите плиз с запросами

Печать RSS
226

С

Землянин
0
20, лучше без них, чтал что условия в ON систему тормозят, можна и без них обойтись, если бы до конца вкуривал че автору надо, написал бы ему запрос
Автор
Пацак
0
Aligan, ВСЕ юзеры голосовавшие за мою фотку и так у меня выводятся (их ники). А мне надо , чтобы возле их ников (голосовавших), было еще и количество голосов видно, тоесть кто скока дал ёмаё
Изменил: Дмитрий (15.07.2010 / 10:07)
С

Землянин
0
Фухх, разобрался в коде,1, выводит 4 потому что ты -/+ от поля cols, создай поле в golos и пиши туда +3,-2,+1 и т.д., тогда и подщет норм будет
О

Землянин
0
21, забудь что ты читал... по-твоему лучше тогда делать еще один запрос в цикле на извлечение данных из связной таблицы? Это действительно тормознуто.
Mr-General, тогда какие проблемы? Выводи переменную, никаких дополнительных расчетов не нужно.
Изменил: Олег (15.07.2010 / 13:43)
Автор
Пацак
0
Aligan (15 Июля 2010 / 13:42)
21, забудь что ты читал... по-твоему лучше тогда делать еще один запрос в цикле на извлечение данных из связной таблицы? Это действительно тормознуто.
Mr-General, тогда какие проблемы? Выводи переменную, никаких дополнительных расчетов не нужно.

дак в этом и проблема че то не доходит как вывести
О

Землянин
0
В твоем первом посте, в листинге вообще нету никакого цикличиского вывода, что как бы говорит о том что ты выводишь не всех пользователей голосовавших за фотку, а одного конкретного.

p.s Если у тебя проблема в последних строках, то замени на
 $goloscol = mysql_result(mysql_query("SELECT `cols` FROM `users` WHERE `id` = '".$id."';"), 0,"cols"); 
echo 'Кто голосовал: ' . $login . $goloscol;
Автор
Пацак
0
Ну вот эта фишка которая выводит все ники(только ники) голосовавших
<?
if (empty($page)) $page = 0;
$query = mysql_query("select * from golos where user='".$id."';");
$num_of_rows = mysql_num_rows($query);
$total_mat_number = $num_of_rows;
$max = 10;
$total_pages=ceil($total_mat_number/$max);
$print = mysql_query("select * from golos where user='".$id."' order by who desc limit ".$page.",".($max).";");
$i = 1+$page;
while($arr = mysql_fetch_array($print)) {
$usid = $arr['who'];
$whogolos = mysql_query("select user from users where id=".$usid.";");
$idatas = mysql_fetch_array($whogolos);
$login = $idatas['user'];
echo $fsize1;
echo ($i++).') <a href="search.php?go=view&amp;$ses&amp;nick=$usid">'.$login.'</a><br/>';
Изменил: Дмитрий (16.07.2010 / 04:51)
О

Землянин
0
Ну так у тебя как я понял голос хранится в cols?
Тогда
<? 
if (empty($page)) $page = 0; 
$query 				= mysql_query("select * from golos where user='".$id."';"); 
$num_of_rows 		= mysql_num_rows($query); 
$total_mat_number 	= $num_of_rows; 
$max 				= 10; 
$total_pages=ceil($total_mat_number/$max); 
$print = mysql_query("select * from golos where user='".$id."' order by who desc limit ".$page.",".($max).";"); 
$i = 1+$page; 
while($arr = mysql_fetch_array($print)) 
{ 
	$usid = $arr['who']; 
	//  его голос
	$vote = $arr['cols'];
	$whogolos = mysql_query("select user from users where id=".$usid.";"); 
	$idatas = mysql_fetch_array($whogolos); 
	$login = $idatas['user']; 
	echo $fsize1; 
	echo ($i++).') <a href="search.php?go=view&amp;$ses&amp;nick=$usid">'.$login.'</a> Дал оценку '.$vote.'<br/>';  
}?>
О

Землянин
0
Вообще твой код убийственный по отношению к MySQL серверу, всамом деле. Каждая новая итерация цикла новый запрос. Чем больше проголосовало тем больше запросов к БД.
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск