 
			
				21.10.2016, 15:12
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 21.10.2016 
					
					
					
						Сообщений: 12
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от ksa
			 
		
	 | 
 
	
		Navka1, начнем с того, что в тег <a> не стоит "вставлять" теги <li>... 
 
Для анализа циклов бывает достаточно просто выводить то, с чем имеешь дело в самом цикле. Обычно это многое проясняет...  
	 | 
 
	
 
 Спасибо за ответы!  
О теге <a> учту, но console.log(list['list'][key1]["ima"]) показывает так же 3 строки...  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.10.2016, 15:19
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 CacheVar 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.08.2010 
					
					
					
						Сообщений: 14,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Navka1
			
		
	 | 
 
	| 
		но console.log(list['list'][key1]["ima"]) показывает так же 3 строки...
	 | 
 
	
 
 И что с того?    
Цикл-то у тебя идет не по 
 
list['list'][key1]["ima"]
 
а по
 
	
 
	| 
		
			Сообщение от Navka1
			
		
	 | 
 
	
		
for (var key2 in list['list'][key1]) {...}
	 | 
 
	
 
 Т.е. по
 
list['list'][key1][key2]
  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.10.2016, 15:22
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 21.10.2016 
					
					
					
						Сообщений: 12
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от ksa
			 
		
	 | 
 
	
		И что с того?    
Цикл-то у тебя идет не по  
list['list'][key1]["ima"]
  
а по 
 
Т.е. по 
list['list'][key1][key2]
 
	 | 
 
	
 
 Как я понимаю, необходимо сделать еще один вложенный цикл, уже по ключу list['list']["ima"][key3]?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.10.2016, 15:24
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 CacheVar 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.08.2010 
					
					
					
						Сообщений: 14,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Navka1
			
		
	 | 
 
	| 
		Как я понимаю, необходимо сделать еще один вложенный цикл, уже по ключу list['list']["ima"][key3]?
	 | 
 
	
 
 Может и так... Я просто пока не понял нужные ТСу и тебе подробности...
 
Т.к. лучший вариант это сделать тестовый пример на котором можно что-то показать... 
А у вас просто куски какого-то не работающего кода.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.10.2016, 15:25
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 CacheVar 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.08.2010 
					
					
					
						Сообщений: 14,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Navka1
			
		
	 | 
 
	| 
		Как я понимаю, необходимо сделать еще один вложенный цикл, уже по ключу list['list']["ima"][key3]?
	 | 
 
	
 
 Только тогда не понятно зачем вам там цикл по key2...    
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.10.2016, 15:28
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 21.10.2016 
					
					
					
						Сообщений: 12
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Есть запрос к БД: 
$qr_result = mysql_query("select ket.district.id, ket.district.ima, count(marker.district) from district
							left join ket.marker on ket.marker.district = ket.district.ima  
							group by district ORDER BY id;");
$qr_result2 = mysql_query("SELECT count(*) FROM `marker`;")
or die(mysql_error());
$list = array();
//$alllist = array();
while($r = mysql_fetch_assoc($qr_result)) 
{
	$list['list'][] = $r; 
};
while($d = mysql_fetch_assoc($qr_result2)) 
{
	$list['allLIST'][] = $d;		
};
echo json_encode($list); 
//echo json_encode($alllist); 
?>
Ответ приходит в следующем виде:  
{"list":[{"id":"1","ima":"...","count(marker.district)":"1"  }, 
.........., 
"allLIST":[{"count(*)":"6"}]}
 
В аяксе хочу выводить только значения ima и count(marker.district), но выводится все это добро сразу три раза... 
При этом, при выводе ключа "allLIST":[{"count(*)":"6"}]} - все происходит нормально в этом куске кода:
 
for (var key1 in list['allLIST'])
				{	
					html+='<a class = "link" onclick="event.preventDefault()">';     
					for (var key2 in list['allLIST'][key1]) {
						html+='<li class = "big" onclick="alldistrict()")>Все районы  \(' + list['allLIST'][key1]['count(*)'] + "\)</li>";				
					}
					html+='</a>';
				}
					console.log(html);
				$("ul.list").html(html);
Собственно, вопрос в том, как пофиксить дублирование строк при выводе их из ассоциативного массива в цикле  
Пардон, скорее из объекта, а не массива  
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.10.2016, 15:28
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 CacheVar 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.08.2010 
					
					
					
						Сообщений: 14,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Зачем этот цикл? 
	
 
	
		
			Сообщение от Navka1
			 
		
	 | 
 
	
		
for (var key2 in list['list'][key1]) {
						//i++;
						//	console.log(i);
						html +='<li class = "big" onclick="findList(' + (+key1 + 1) + ')">' + list['list'][key1]["ima"] + " \(" + list['list'][key1]["count(marker.district)"] + "\)</li>";					
						//console.log(list['list'][key1]["ima"]);
					}
	 | 
 
	
 
 Ведь далее про key2 вообще нет ни слова...    
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.10.2016, 15:32
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 CacheVar 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.08.2010 
					
					
					
						Сообщений: 14,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Начнем учить тебя как делать тестовый пример... 
	
 
	| 
		
			Сообщение от Navka1
			
		
	 | 
 
	| 
		Есть запрос к БД:
	 | 
 
	
 
 Это тут не интересно...
 
	
 
	| 
		
			Сообщение от Navka1
			
		
	 | 
 
	
		Ответ приходит в следующем виде:  
{"list":[{"id":"1","ima":"...","count(marker.district)":  "1" }, 
.........., 
"allLIST":[{"count(*)":"6"}]}
	 | 
 
	
 
 А вот ответ нужно сделать более полным.    
Т.е. привести 3-4 полновесных элемента (а у тебя один) для демонстрации
 
Ну и потом показать пример хтмля, который хочешь получить на этих данных.
 
Все! 
Тестовый пример готов. С ним можно будет работать.    
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.10.2016, 15:39
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 21.10.2016 
					
					
					
						Сообщений: 12
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от ksa
			 
		
	 | 
 
	
		Т.е. привести 3-4 полновесных элемента (а у тебя один) для демонстрации 
 
Ну и потом показать пример хтмля, который хочешь получить на этих данных. 
 
Все! 
Тестовый пример готов. С ним можно будет работать.  
	 | 
 
	
 
 Слушаюсь, сэр! 
Примеры 3-х элементов в list+allLIST: 
{"list":[{"id":"1","ima":"\u0421\u0432\u044f\u0442\u043e\u0  448\u0438\u043d\u0441\u043a\u0438\u0439","count(ma  rker.district)":"1"}, 
{"id":"2","ima":"\u0413\u043e\u043b\u043e\u0441\u0  435\u0435\u0432\u0441\u043a\u0438\u0439","count(ma  rker.district)":"1"}, 
{"id":"3","ima":"\u0414\u0430\u0440\u043d\u0438\u0  446\u043a\u0438\u0439","count(marker.district)":"0  "}, 
.......... 
"allLIST":[{"count(*)":"6"}]}
 
Желаемый html-код:
 
<li class = "big" onclick="findList(1)">Святошинский (0)</li>
 
Тобишь:
 
'<li class = "big" onclick="findList(' +КЛЮЧ  id +  ')">' + КЛЮЧ ima + " \(" + КЛЮЧ count(marker.district) + '\)</li>'
 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Navka1, 21.10.2016 в 15:51.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.10.2016, 15:54
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 CacheVar 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.08.2010 
					
					
					
						Сообщений: 14,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Navka1
			
		
	 | 
 
	
		Примеры 3-х элементов в list+allLIST: 
{"list":[{"id":"1","ima":"\u0421\u0432\u044f\u0442\u043e  \u0 448\u0438\u043d\u0441\u043a\u0438\u0439","count(ma rker.district)":"1"}, 
{"id":"2","ima":"\u0413\u043e\u043b\u043e\u0441  \u0 435\u0435\u0432\u0441\u043a\u0438\u0439","count(ma rker.district)":"1"}, 
{"id":"3","ima":"\u0414\u0430\u0440\u043d\u0438  \u0 446\u043a\u0438\u0439","count(marker.district)":"0 "}, 
.......... 
"allLIST":[{"count(*)":"6"}]}
	 | 
 
	
 
 Тут на форуме есть возможность форматировать код...    
А мне пришлось твою писанину еще и подправлять.
 
Вот такой вариант получился.
 
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
var obj={
	"list":[
		{
			"id":"1",
			"ima":"\u0421\u0432\u044f\u0442\u043e\u0448\u0438\u043d\u0441\u043a\u0438\u0439",
			"count(marker.district)":"1"
		},
		{
			"id":"2",
			"ima":"\u0413\u043e\u043b\u043e\u0441\u0435\u0435\u0432\u0441\u043a\u0438\u0439",
			"count(marker.district)":"1"
		},
		{
			"id":"3",
			"ima":"\u0414\u0430\u0440\u043d\u0438\u0446\u043a\u0438\u0439",
			"count(marker.district)":"0 "
		}
	],
	"allLIST":[
		{"count(*)":"6"}
	]
};
$(function(){
	var o=$('#test')
	for (var i=0; i<obj.list.length; i++) {
		var str='<li class = "big" onclick="alert(' + (i + 1) + ')">';
		str=str + obj.list[i].ima + ' (' + obj.list[i]['count(marker.district)'];
		str=str + ')</li>';
		o.append(str);
	};
});
</script>
</head>
<body>
<ul id='test'></ul>
</body>
</html>
Вот это и называется тестовым примером.    
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |