Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Rekomendowane odpowiedzi

Opublikowano

Witam,

Mam taki kod:

		/* Create list of months! */
	$userJoinDate = $this->memberData['joined'];
	$actualDate	 = time();
	$actualMonth = date( 'F', $actualDate );
	$monthsData	 = '';
	$countMonths = 1;

	/* Set to current time! */
	IPSTime::setTimestamp( $userJoinDate );

	/* Create language array of months */
	$monthsNames = array( $this->lang->words['M_1'], $this->lang->words['M_2'], $this->lang->words['M_3'], 
						 $this->lang->words['M_4'], $this->lang->words['M_5'], $this->lang->words['M_6'], 
						 $this->lang->words['M_7'], $this->lang->words['M_8'], $this->lang->words['M_9'], 
						 $this->lang->words['M_10'], $this->lang->words['M_11'], $this->lang->words['M_12'] );

	/* List months! */
	while( $userJoinDate < $actualDate )
	{
		/* More than 12 months? */
		if( $countMonths >= 12 )
		{
			break;
		}

		/* Add month! */
		IPSTime::add_month();
		$userJoinDate = IPSTime::getTimestamp();

		/* Get Month */
		$dateArray = IPSTime::unixstamp_to_human( $userJoinDate );

		/* Add to list of months... */
		$monthsData .= "\t<option value='{$dateArray['month']}'";
		$monthsData .= ( $actualMonth == $dateArray['month'] ) ? " selected='selected'" : '';
		$monthsData .= ">{$monthsNames[ $dateArray['month'] - 1 ]} {$dateArray['year']}</option>\n";

		/* Increment! */
		$countMonths++;
	}

I on ma wygenerować listę miesięcy od daty rejestracji, ale razem z nią, a pomija ten miesiąc, dlaczego? Na logikę ma pokazywać miesiące dostępne od niej do dziś i to działa, ale dlaczego nie dodaje pierwszego możliwego? Warunek pętli wydaje mi się poprawny.

Pozdrawiam,

Largo

Jeżeli Ci pomogłem, nie zapomnij proszę o kliknięciu - add.png

Możesz liczyć na moją pomoc z zakresu: PHP5, MySQL, JavaScript i Ajax | W trakcie nauki CSS i xHTML!

W sprawie pomocy z zakresu IP.Board służę pomocą w dziale Zaawansowane programowanie IP.Board

Proszę o nie wysyłanie próśb PW o prywatną pomoc - pomagam JEDYNIE na forum lub na zlecenie!

Opublikowano

Witam,

Uwielbiam rozmowy ze samym sobą ;-) Poradziłem sobie z tym problemem, oto rozwiązanie:

	/* Create list of months! */
	$userJoinDate = $this->memberData['joined'];
	$actualDate	 = time();
	$actualMonth = date( 'F', $actualDate );
	$monthsData	 = '';
	$countMonths = 1;

	/* Set to current time! */
	IPSTime::setTimestamp( $userJoinDate );

	/* Create language array of months */
	$monthsNames = array( $this->lang->words['M_1'], $this->lang->words['M_2'], $this->lang->words['M_3'], 
						 $this->lang->words['M_4'], $this->lang->words['M_5'], $this->lang->words['M_6'], 
						 $this->lang->words['M_7'], $this->lang->words['M_8'], $this->lang->words['M_9'], 
						 $this->lang->words['M_10'], $this->lang->words['M_11'], $this->lang->words['M_12'] );

	/* List months! */
	while( $userJoinDate < $actualDate )
	{
		/* More than 12 months? */
		if( $countMonths >= 12 )
		{
			break;
		}

		/* Get Month */
		$dateArray = IPSTime::unixstamp_to_human( $userJoinDate );

		/* Add to list of months... */
		$monthsData .= "\t<option value='{$dateArray['month']}'";
		$monthsData .= ">{$monthsNames[ $dateArray['month'] - 1 ]} {$dateArray['year']}</option>\n";

		/* Add month! */
		IPSTime::add_month();
		$userJoinDate = IPSTime::getTimestamp();

		/* Increment! */
		$countMonths++;
	}

	/* Current month? */
	if( date( 'm', $userJoinDate ) == date( 'm', $actualDate ) )
	{
		$monthsData .= "\t<option value='".date( 'n', $userJoinDate )."' selected='selected'";
		$monthsData .= ">{$monthsNames[ date( 'm', $userJoinDate ) - 1 ]} ".date( 'Y', $userJoinDate)."</option>\n";
	}

Jeżeli Ci pomogłem, nie zapomnij proszę o kliknięciu - add.png

Możesz liczyć na moją pomoc z zakresu: PHP5, MySQL, JavaScript i Ajax | W trakcie nauki CSS i xHTML!

W sprawie pomocy z zakresu IP.Board służę pomocą w dziale Zaawansowane programowanie IP.Board

Proszę o nie wysyłanie próśb PW o prywatną pomoc - pomagam JEDYNIE na forum lub na zlecenie!

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.