brussens
				Мега-мастер
				
				Дата регистрации:
11.10.2011 22:50:07
				Сообщений: 438
			 
			Вообще насколько я понял насчёт перебора -  in_array(Искомое значение в массиве, сам массив)
Получается, что нужно для цикла while($ids).
Далее получается идёт in_array($ids, $row1['name'])
Так ведь?
У меня идёт работа с 2 таблицами.
1 - это таблица, где идут 2 столбца. Один столбец на айди, а второй на строчное значение. Получается, что у каждого стиля есть свой айди.
2 - это данные пользователя, куда в столбец likes записывается строка, сделанная при помощи implode() из айди 1 таблицы. Строка примерно так выглядит: 76,84,85,89,91,94,96,101,106,110
После конечно на странице пользователя она снова разбирается на массив с помощью explode()
Далее вот начинается моя проблема.
Получается мы создаём while(тут значение $ids = explode(',', $row2['likes']))
далее идёт if (in_array(и получается тут у нас сколько вообще значений должно быть?))
Вот самы функция in_array не понятна.
			
			
		 
			
			
			
				
				
				Admin
				Администратор
				
				Дата регистрации:
27.05.2010 21:23:42
				Сообщений: 3063
			 
			1 - это таблица, где идут 2 столбца. Один столбец на айди, а второй на строчное значение. Получается, что у каждого стиля есть свой айди. 
Именно это и нужно перебирать. А внутри цикла проверять, есть ли id (в текущей итерации) в массиве ids (это проверка через функцию in_array()).
 
			
			
		 
			
			
			
				
				
				brussens
				Мега-мастер
				
				Дата регистрации:
11.10.2011 22:50:07
				Сообщений: 438
			 
			Уже пробовал ставить разными способами, ничего не работает...
<?php 
$dbconnect = mysqli_connect('localhost', 'root','' ,'testing') or die('eRROR!!!!'); 
$query1 = "SELECT * FROM styles"; 
$query2 = "SELECT * FROM user WHERE id = '1'"; 
$mq1 = mysqli_query($dbconnect, $query1); 
$mq2 = mysqli_query($dbconnect, $query2); 
$row1 = mysqli_fetch_array($mq1); 
$row2 = mysqli_fetch_array($mq2); 
$ids = explode(',', $row2['likes']); 
while($row1) { 
if (in_array($ids, $row1['id'])) { 
echo '11'; 
}
}
?>
Ведь так получается надо было сделать?
			
			
		 
			
			
			
				
				
				Admin
				Администратор
				
				Дата регистрации:
27.05.2010 21:23:42
				Сообщений: 3063
			 
			Почитайте про циклы в программировании. Узнайте про циклы for, while и do while. Посмотрите их синтаксис, примеры и прочее.
			
			
		 
			
			
			
				
				
				brussens
				Мега-мастер
				
				Дата регистрации:
11.10.2011 22:50:07
				Сообщений: 438
			 
			Михаил, вот посидел подумал, написал, вроде работает, но скажите, вот такой код что ли должен быть?
<?php 
$dbconnect = mysqli_connect('localhost', 'root','' ,'testing') or die('eRROR!!!!'); 
$query1 = "SELECT * FROM styles"; 
$query2 = "SELECT * FROM user WHERE id = '1'"; 
$mq1 = mysqli_query($dbconnect, $query1); 
$mq2 = mysqli_query($dbconnect, $query2); 
$row1 = mysqli_fetch_array($mq1); 
$row2 = mysqli_fetch_array($mq2);
$ids = explode(',', $row2['likes']);
while($row1 = mysqli_fetch_array($mq1)) { 
if (in_array($row1['id'] ,$ids))
echo $row1['name'] . '<br />';
}
?>
			
			
		 
			
			
			
				
				
				Admin
				Администратор
				
				Дата регистрации:
27.05.2010 21:23:42
				Сообщений: 3063
			 
			Да, это действительно то, о чём я и говорил.
			
			
		 
			
			
			
				
				
				brussens
				Мега-мастер
				
				Дата регистрации:
11.10.2011 22:50:07
				Сообщений: 438
			 
			Мда, надо было просто очень хорошо мозг напряч)))
Михаил, а возможно теперь данные из цикла запихнуть в массив? Просто выводить хочется в виде строки и формировать её при помощи implode()
			
			
		 
			
			
			
				
				
				Admin
				Администратор
				
				Дата регистрации:
27.05.2010 21:23:42
				Сообщений: 3063
			 
			Можно. Просто записывайте все названия в новый массив. А переменную для ключа массива увеличивайте при попадании в if.
На выходе получится готовый массив со всеми названиями стилей, которые были в поле like.
			
			
		 
			
			
			
				
				
				brussens
				Мега-мастер
				
				Дата регистрации:
11.10.2011 22:50:07
				Сообщений: 438
			 
			Михаил, ну вот по идее как то так это выглядеть должно, только вот в массиве почему то только первые буквы и ключи, и всё, что не так?
<?php 
$dbconnect = mysqli_connect('localhost', 'root','' ,'testing') or die('eRROR!!!!'); 
$query1 = "SELECT * FROM styles"; 
$query2 = "SELECT * FROM user WHERE id = '1'"; 
$mq1 = mysqli_query($dbconnect, $query1); 
$mq2 = mysqli_query($dbconnect, $query2);
$row2 = mysqli_fetch_array($mq2);
$ids = explode(',', $row2['likes']);
while($row1 = mysqli_fetch_array($mq1)) {
if (in_array($row1['id'] ,$ids))
$mmm[] = $row1['name'][0];
}
print_r($mmm);
?>
			
			
		 
			
			
			
				
				
				brussens
				Мега-мастер
				
				Дата регистрации:
11.10.2011 22:50:07
				Сообщений: 438
			 
			Извиняюсь, решил проблему)))) Изменил на $mmm[] = $row1['name'];