[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выборка даты
Ramzil_Nixon
Есть такая функция выбора даты рождения пользователя:

user posted image

Выбирает и сохраняет дату рождения. Разобрался с тем, что при выобре нужных дат и месяцев выводиться соответствующая количество дней. Есть даже високосный год.

Но! Столкнулся с такой проблемой. Если у пользователя выбрано дата рождения, если входишь в настройки то в функции выбора это было видно. Разобрался с выборкой года и месяца рождения.

Осталось проблема с выборой даты рождения. он стоит в виде disabled. Так вот, дату не показывает оно у меня.

/* Функция настройки даты рождения */
$(function() {
$('[name=MounthRoz]').change(function() { // При смене месяца
var Mountch = $('[name=MounthRoz]').val(); // Принимаем месяц
var Year = $('[name=GodRoz]').val(); // ПРинимаем год для проверки высокосного года
var Days = $('[name=DateRoz]').val(); // Принимаем день рождения пользователя
if(Mountch == 0 || Year == 0 || Days == 0) // Если месяц не выбрана, то блокируем дату
{
$('[name=DateRoz]').attr('disabled', 'disabled'); // Блокируем дату
}
else
{
$('[name=DateRoz]').removeAttr('disabled'); // Разблокируем дату. Если
}
$.ajax({
url: 'js/ajax_php/set_date_roz.php',
type: 'POST',
data: ({'mounth':Mountch, 'year':Year}), // Принимаем год и месяц
success: function(response) {
$('[name=DateRoz]').html(response);
//alert(response);
}
}
);
});
$('[name=GodRoz]').change(function() { // При смене года
var Mountch = $('[name=MounthRoz]').val(); // Принимаем месяц
var Year = $('[name=GodRoz]').val(); // ПРинимаем год для проверки высокосного года
var ID = $('[name=IdUser]').val(); // ID пользователя
var Days = $('[name=DateRoz]').val(); // Принимаем день рождения пользователя
if(Mountch == 0 || Year == 0 || Days == 0) // Если месяц не выбрана, то блокируем дату
{
$('[name=DateRoz]').attr('disabled', 'disabled'); // Блокируем дату
}
else
{
$('[name=DateRoz]').removeAttr('disabled'); // Разблокируем дату. Если
}
$.ajax({
url: 'js/ajax_php/set_date_roz.php',
type: 'POST',
data: ({'mounth':Mountch, 'year':Year, 'id':ID}), // Принимаем год и месяц
success: function(response) {
$('[name=DateRoz]').html(response);
//alert(response);
}
}
);
});
});


Этот чать кода - отправка и получение даты, по зависимости от выбора месяца и года.

Это set_date_roz.php:

$Mounth = $_POST['mounth']; // Принимаем месяц
$Year = $_POST['year']; // принимаем год
$Id = $_POST['id']; // ID пользователя

if($Mounth > 0 && $Year > 0) // Если месяц больше нуля. То есть что то выбрано
{
$DateRoz_1 = range(1, 31); // Для месяцев с 31 днем
$DateRoz_2 = range(1, 30); // Для месяцев с 30 днем
$DateRoz_3 = range(1, 28); // Для месяцев с 38 днем
$DateRoz_4 = range(1, 29); // Для високосного года
/* Запрашиваем дату рождения пользователя. Для выборки правильной даты */

$QuDays = mysql_query("SELECT * FROM `users` WHERE
`id` = '"
.(int)$Id."'
"
) or die(mysql_error()); // Запрашиваем даты
$DaysUsers = mysql_fetch_assoc($QuDays); // Выборка
$DaysUsers = explode('.', $DaysUsers); // Разбиваем дату
/* =================================================================== */

if($Mounth == 4 || $Mounth == 6 || $Mounth == 9 || $Mount == 11) // Месяца которые идут по 30 дням
{
echo '<option value="0">- День -</option>';
foreach($DateRoz_2 as $Date) // Запускаем цикл и выводим возможность выбора дыты. JS за это отвечает
echo '<option value="'.$Date.'" '.($DaysUsers[0] == $Date ? "selected=selected" : "").'>'.$Date.'</option>';
}
elseif($Mounth == 2) // Если год високосный, то выводим 29 чисел
{
if(checkdate(2, 29, $Year)) // Если високосный год
{
echo '<option value="0">- День -</option>';
foreach($DateRoz_4 as $Date)
echo '<option value="'.$Date.'" '.($DaysUsers[0] == $Date ? "selected=selected" : "").'>'.$Date.'</option>';
}
else // Если год не високосный
{
echo '<option value="0">- День -</option>';
foreach($DateRoz_3 as $Date)
echo '<option value="'.$Date.'" '.($DaysUsers[0] == $Date ? "selected=selected" : "").'>'.$Date.'</option>';
}
}

else
{
echo '<option value="0">- День -</option>';
foreach($DateRoz_1 as $Date) // Запускаем циккл и выводим возможность выбра даты. JS за это отвечает
echo '<option value="'.$Date.'" '.($DaysUsers[0] == $Date ? "selected=selected" : "").'>'.$Date.'</option>';
}
}

else // Если месяц не выбрана, сбрасываем дату
{
echo '<option value="0">- День -</option>';
}


И вопрос. Как сделать так, чтобы если дата рождения выбрана, показывать это и при входе на страницу настроек.? Если не правильно излагал дополню.

_____________
Миллионы приходят, уходят, не в них счастье. Самым важным на свете всегда будут люди в этой комнате, вот здесь, сейчас...

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.