@inkyrein
Начинаю постигать WEB-программирование

Как вывести только три элемента из цикла?

Привет всем, ребя, подскажите пожалуйста, я зашел в тупик и не пойму почему у меня из цикла не выводится только три элемента... Я ставил счетчик $i, но не работает.
<?
$queryS = mysql_query('
SELECT *
FROM catalog_structure
WHERE pid = 10'
) or die(mysql_error());
if (mysql_num_rows($queryS) > 0) {

while ($rowS = mysql_fetch_assoc($queryS)) {
	$q = mysql_query('
	SELECT
	*
	FROM
	catalog_tov
	WHERE pid = "'.$rowS['id'].'" AND vis = 1 ORDER BY RAND() LIMIT 1'
	);
	$i = 0; //пробовал с этим...
	while ($rowQ = mysql_fetch_assoc($q)) { //вот из этого цикла должно выводиться три элемента, а выводится только 6
	$i ++; //.. пробовал с этим...
	?>
	<div class="itemOne">
	<h2><?=$rowQ['name']?></h2>
	<!--<img src="images/250/<?=$rowQ['pic']?>">-->
	<a href="/item/<?=$rowQ['id']?>/">
	</div>
	<?			
	if ($i > 3) break; // ... неработает (
	}
}
}
  • Вопрос задан
  • 188 просмотров
Пригласить эксперта
Ответы на вопрос 3
@maxyc_webber
Web-программист
PretorDH
@PretorDH
HTML5, CSS3, PHP, JS - люблю в чистом виде.
//...  Ошибка здесь у вас -> только 1 результат
  WHERE pid = "'.$rowS['id'].'" AND vis = 1 ORDER BY RAND() LIMIT 1'    // <- limit 3 будет правильно
 //...
  $i = 0; //...это можно убрать оно лишнее
//...
  while ($rowQ = mysql_fetch_assoc($q) ) 
//...
  $i ++; //.. это можно убрать для красоты кода
//...
  if ($i > 3) break; // ... убрать для красоты кода
Ответ написан
Комментировать
GavriKos
@GavriKos
В вашем случае можно на уровне sql-запроса вроде сделать такое ограничение.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы