php echo variable1, pause и echo variable 2, а затем повторить оставшуюся переменную1 - PullRequest
1 голос
/ 28 мая 2011

скажем, у меня есть этот простой код:

$sql = dbquery("SELECT * FROM videos WHERE views > 4 ORDER BY id DESC LIMIT 0,10 ");
while($row = mysql_fetch_array($sql)){
  $url = $row["url"];
  $title = $row["title"];
  $list ='<div><a href="'.$url.'" >'.$title.'</a></div>';
  $ad ='<div>something here</div>';
}

echo $list;

вместо того, чтобы отобразить список из 10 делений, я хочу повторить 5 делений из $list, echo $ad, а затем повторить остальную часть $list

Как я могу это сделать?

Позднее редактировать:

Первая проблема решена благодаря Майклу.

Теперь у меня проблема с моим шаблоном, и я не знаю, как я могу добавить к каждому X число $ list divs, class = "nomar"?

1 Ответ

1 голос
/ 28 мая 2011

Вы можете использовать счетчик $i

$sql = dbquery("SELECT * FROM videos WHERE views > 4 ORDER BY id DESC LIMIT 0,10 ");

$i = 1;

// Use mysql_fetch_assoc() rather than mysql_fetch_array()!
while($row = mysql_fetch_assoc($sql)){
  $url = $row["url"];
  $title = $row["title"];

  // Change the list class on a certain number...
  if ($i == 3) {
     $list_class = "normal";
  }
  else $list_class = "some-other-class";
  // Incorporate the new class
  $list ='<div class="' . $list_class . '"><a href="'.$url.'" >'.$title.'</a></div>';

  // Output $list
  echo $list;    

  // Increment your counter
  $i++;

  // Output $ad when you reach 5
  // This only happens once. Afterward, $list continues to print.
  if ($i == 5) {
    $ad ='<div>something here</div>';
    echo $ad;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...