Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сравнение и вывод года
 
 автор: OLi   (05.04.2012 в 19:45)   письмо автору
 
 

вот у меня $year=2011; я в цикле сравниваю $date['Y']!==2001 {вывод} ..Такой способ выведет мне столько раз вывод сколько будет повторений года одногои того же. Т-е 4 записи с 2012 выведут 4 раза Вывод. А мне надо вывести 1 раз 2012 как заголовок и ниже эти 4 записи. мне надо сделать так:

2011
_____
1)
2)
3)

2012
_____
1)
2)
3)

  Ответить  
 
 автор: confirm   (05.04.2012 в 19:48)   письмо автору
 
   для: OLi   (05.04.2012 в 19:45)
 

Сравнивайте год с переменной вне цикла - если не равно, выводите год и присваивайте его этой переменной. А дальше вывод нужных строк.

  Ответить  
 
 автор: OLi   (05.04.2012 в 19:57)   письмо автору
 
   для: confirm   (05.04.2012 в 19:48)
 

Все равно так выводит для каждой записи год:

while ($v<count($mass)) {
if (!($i % 3)) {$b++;} 
if ($b==4) {$b=1;} 

$start=date('d.n.Y',$mass[$i]['start_time']);
$start=explode('.',$start);
$last_date=$start[2];

$start=$array_mes[date('n', $mass[$i]['start_time'])-1];

if ($year!==intval($last_date)) {$style="ms";$year_for='<div style="position:relative; left:0; top:0">'.$year.'</div>'; $year=intval($last_date);}
echo $year_for;

}

  Ответить  
 
 автор: confirm   (05.04.2012 в 20:06)   письмо автору
 
   для: OLi   (05.04.2012 в 19:57)
 

Вы внимательно ответ мой прочли? Я ведь сказал, что с переменной вне цикла.
<?
$a 
= array(array(2011,'a'),array(2011,'b'),array(2011,'c'),
array(
2012,'d'),array(2012,'e'),array(2012,'f'));
$y 0;
foreach(
$a as $v) {
  if(
$y!=$v[0]) {
     
$y $v[0];
     echo 
$y '<br>-----<br>';
  }
  echo 
$v[1] . '<br>';  
}
А у вас?

  Ответить  
 
 автор: OLi   (05.04.2012 в 20:34)   письмо автору
 
   для: confirm   (05.04.2012 в 20:06)
 

Так что-ли:

<?
while ($v<count($mass)) {
if (!(
$i 3)) {$b++;} 
if (
$b==4) {$b=1;} 

$start=date('d.n.Y',$mass[$i]['start_time']);
$start=explode('.',$start);
$last_date=$start[2];

$start=$array_mes[date('n'$mass[$i]['start_time'])-1];

if (
$year!==intval($last_date)) {$style="ms";$year_for='<div style="position:relative; left:0; top:0">'.$year.'</div>'$year=$last_date;}

echo 
'<li>
<div class="fon" style="background-image:url(concurs/images/'
.$b.'f.jpg)">

<div class="qst_arhiv">'
.$mass[$i]['question'].'</div>
<a href="vip.php?vote='
.$mass[$i]['id'].'" rel="'.$mass[$i]['id'].'"><img width="200" src="'.$mass1[$i]['img'].'"/></a>

</div>

<div><b>'
.$mass1[$i]['name'].'</b></div>
<div class="mes">'
.$start.'</div>
<div><a href="vip.php?vote='
.$mass[$i]['id'].'" rel="'.$mass[$i]['id'].'">Просмотреть</a></div>
</li>'




$v++;
$i++;
$k++;

}
echo 
$year_for;
?>

  Ответить  
 
 автор: confirm   (05.04.2012 в 20:38)   письмо автору
 
   для: OLi   (05.04.2012 в 20:34)
 

Я вам показал принцип, а откуда я знаю, что из себя представляют ваши данные и чего вы там пытаетесь сравнивать. И что я вам могу ответить?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования