Помогите с PHP кодом для формирования последовательного списка чисел для CCK поля

Главные вкладки

Аватар пользователя AQUADES AQUADES 19 марта 2008 в 20:21

Формирую CCK поле для выбора года выпуска авто. Выбираю для этого тип Integer -> Select List. Нужно в поле "Список допустимых значений:" на PHP написать код, который бы формировал этот самый список лет, начиная с 1917 по текущий год, именно текущий (как переменная, которая меняет свое значение каждый год). И как вариант в обратном порядке, т.е. с текущего года до 1917.
Помогите, пожалуйста, в PHP, как свинья в апельсинах. Принцип КАК понимаю, но реализовать не могу. После первой самостоятельной попытки написать в этом поле код, вогнал сайт в белый экран и чистил базу от этого поля через MyPHPAdmin.
Всем откликнувшимся заранее большое спасибо.

Комментарии

Аватар пользователя VladSavitsky VladSavitsky 20 марта 2008 в 2:43

<?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."
";
?>

Аватар пользователя VladSavitsky VladSavitsky 20 марта 2008 в 2:44

Чтобы получить в обратном направлении меняете местами переменные в начале скрипта.

<?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."
";
?>

Аватар пользователя dts dts 29 декабря 2010 в 7:48

заранее извиняюсь за нубский вопрос

необходимо формировать автоматически ссылки вида "адрес.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

в каждой строке по одной ссылке

Аватар пользователя dts dts 29 декабря 2010 в 10:53

вдоволь наигрался я с этим кодом , по ходу еще много нового и вкусного для себя нашел

ниже решение моей задачи )


<?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 />";
?>

может и коряво , но итог полностью удовлетворяет

Аватар пользователя G.A. Vinogradov G.A. Vinogradov 29 декабря 2010 в 12:46

dts wrote:
вдоволь наигрался я с этим кодом , по ходу еще много нового и вкусного для себя нашел

ниже решение моей задачи )


<?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/>';
}
?>
Аватар пользователя dts dts 30 декабря 2010 в 2:25

а я предупреждал что нуб совсем , привык на примерах учится )
в дельфи такая же история была , со временем начал понимать все тонкости
и был в ужасе просматривая старый грязный код с кучей всего лишнего )
всего пару дней ковыряю php

такая вот история..
спасибо за подсказку , изучу более подробно

кстати , если не против помочь , напиши номер аси в личку ,
несколько вопрос есть касательно "simple_html_dom"

..чтобы не захламлять тему