Формирую CCK поле для выбора года выпуска авто. Выбираю для этого тип Integer -> Select List. Нужно в поле "Список допустимых значений:" на PHP написать код, который бы формировал этот самый список лет, начиная с 1917 по текущий год, именно текущий (как переменная, которая меняет свое значение каждый год). И как вариант в обратном порядке, т.е. с текущего года до 1917.
Помогите, пожалуйста, в PHP, как свинья в апельсинах. Принцип КАК понимаю, но реализовать не могу. После первой самостоятельной попытки написать в этом поле код, вогнал сайт в белый экран и чистил базу от этого поля через MyPHPAdmin.
Всем откликнувшимся заранее большое спасибо.
Комментарии
<?php
$year = date('Y');
for ($i = 1917;$i <= $year;$i++) {
$years[$i] = $i;
}
return $years;
?>
penexe,
<?php
$years[] = $i;
?>
Согласны?
<?php
//Вот значения с 2008 по 1917 в порядке убывания.
$start_year = 1917;
$end_year = date('Y');
if ($end_year > $start_year) {
$current=$start_year;
while ($current!=$end_year) {
echo $current."
";
$current++;
}
} elseif ($start_year > $end_year) {
$current=$start_year;
while ($current!=$end_year) {
echo $current."
";
$current--;
}
}
echo $current."
";
?>
Чтобы получить в обратном направлении меняете местами переменные в начале скрипта.
<?php
$start_year = 1917;
$end_year = date('Y');
if ($end_year > $start_year) {
$current=$start_year;
while ($current!=$end_year) {
echo $current."
";
$current++;
}
} elseif ($start_year > $end_year) {
$current=$start_year;
while ($current!=$end_year) {
echo $current."
";
$current--;
}
}
echo $current."
";
?>
Мой вариант:
Прямой порядок:
<?php
return range( 1917, date('Y') );
?>
Обратный порядок:
<?php
return range( date('Y'), 1917 );
?>
Большое всем спасибо. Отдельное для goodboy. return range( date('Y'), 1917 ); все гениальное просто
заранее извиняюсь за нубский вопрос
необходимо формировать автоматически ссылки вида "адрес.ru/?pnam=1"
вместо еденицы 2,3,4... и т.д.
чтобы список из всего этого выводился
только начинаю учить php
немного модифицировал код под свои нужды , подскажите что надо дописать по теме
<?php
$start = 1;
$end = 3000;
if (
$end > $start) {$current=$start;
while ($current!=$end) {
echo $current."<br />";
$current++;
}
} elseif ($start > $end) {
$current=$start;
while ($current!=$end) {
echo $current."<br />";
$current--;
}
}
echo $current."<br />";
?>
в итоге должно получится
адрес.ru/?pnam=1
адрес.ru/?pnam=2
адрес.ru/?pnam=3
адрес.ru/?pnam=4
в каждой строке по одной ссылке
вдоволь наигрался я с этим кодом , по ходу еще много нового и вкусного для себя нашел
ниже решение моей задачи )
<?php
$start = 1;
$end = 3000;
if (
$end > $start) {$current=$start;
while ($current!=$end) {
echo "адрес.ru/?pnam=".$current."<br />";
$current++;
}
} elseif ($start > $end) {
$current=$start;
while ($current!=$end) {
echo "адрес.ru/?pnam=".$current."<br />";
$current--;
}
}
echo "адрес.ru/?pnam=".$current."<br />";
?>
может и коряво , но итог полностью удовлетворяет
Это не коряво, это пиздец.
<?php
$start = 100;
$end = 10;
foreach (range($start, $end) as $current){
echo '/?pname=', $current, '<br/>';
}
?>
а я предупреждал что нуб совсем , привык на примерах учится )
в дельфи такая же история была , со временем начал понимать все тонкости
и был в ужасе просматривая старый грязный код с кучей всего лишнего )
всего пару дней ковыряю php
такая вот история..
спасибо за подсказку , изучу более подробно
кстати , если не против помочь , напиши номер аси в личку ,
несколько вопрос есть касательно "simple_html_dom"
..чтобы не захламлять тему
Создай отдельную тему, чтобы не захламлять эту. По аське консультации платные.