Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Помогите сделать скрипт о Днях Рождения!!!


Автор: Клявас® 1.9.2004, 13:20
Вообщем, кто может сделать такой скрипт, чтобы писалась:

Сегодня: 1 сентября, 2004 года - Своё 20 летие празднует Антон...

Это к примеру.... У меня стоит уже такой скрипт, но я хочу, чтобы через год он писал уже "Своё 21 летие празднует Антон" и так дальше...
Можно ли создать такой скрипт!?

Или допустим, чтобы через год уже писал другое поздравление этому человеку?!

Ну вообщем, чтобы я написал поздравления вперёд на 5 лет и скрипт их писал?!

Спасибо!!!

Автор: Gold Dragon 1.9.2004, 13:31
Если в JavaScript`е, то можно так, например

файл qqq1.js
Код
var mes = Array(
"Поздравление первое бла-бла-бла.",
"Поздравление второе бла-бла-бла.",
"Поздравление третьебла-бла-бла.",
"...",
"Поздравление хрен знает какое бла-бла-бла.",
"Поздравление последнеебла-бла-бла.")

document.write(mes[Math.floor(mes.length * Math.random())])


Вставляешь в нужное место своеё страници
Код
<script language="JavaScript" type="text/javascript" src="qqq1.js"></script>

Это что, касается случайного вывода поздравления не только каждый го, но и каждый раз

Теперь про года... надо подумать smile.gif

Автор: Клявас® 1.9.2004, 13:35
так вот мне с годами и нужно как раз....случайно я знаю....
Вот чтобы автоматом переключалось...допустим 20 лет....а через год всегда у него было в анкете 21 год!!!!!

Автор: Gold Dragon 1.9.2004, 14:18
Цитата(Red @ 1.9.2004, 14:31)
Теперь про года... надо подумать

Это значит я код пишу smile.gif

Вот, смотри
Код
<html>
<head>
</head>
<body>
<script>
var mes = Array(
"01091976Роман",
"01091977Игорь",
"01091974Алексей",
"01091979Семён",
"01091960Андрей",
"01091984Дмитрий")

var qqq = new Date();
var d = qqq.getDate()
var m = qqq.getMonth()+1
var g = qqq.getFullYear()

for (var i=0; i<mes.length;i++){
a = mes[i].substring(8,mes[i].length)

if (d==mes[i].substring(0,2)){
if (m==mes[i].substring(2,4)){
 document.write(a+" празднует своё " + (g-mes[i].substring(4,8)) + "-летие<br>")
}
}
}
</script>
</body>
</html>

Не самый оптимальный, наверное, вариант. Спешил..

Надеюсь понятно как использовать. Данные можно и в отдельный файл вывести

Автор: Клявас® 1.9.2004, 14:30
Red Dragon
во спасибо!!! Это уже лучше!!!!

А можно так сделать, чтобы на страничке автоматом, когда человеку исполняется 21 год, писалось бы 21 год....весь год..затем когда исполняется 22 года...тоже держалось целый год...ну чтобы скрипт обрабатывал данные ?! Можно такк?!

Автор: Gold Dragon 1.9.2004, 15:02
Клявас®
Может сразу конечную цель поставишь, а то каждый раз код переделывать... smile.gif

Можно, только зачем тебе. Ты что целый год День рождения будешь празднывать biggrin.gif


Автор: Ignat 1.9.2004, 15:08
Граждане, чтобы делать подобные фичи существуют БД и серверные скрипты.
ИМХО, не логично извращаться с клиентской частью, если можно использовать серверную.
Мораль: учите Perl, PHP или ASP и не компостируйте себе мозги.

ЗЫ в варианте Red Dragon можно вынести массив с датами в отдельный .js и править только его.

Автор: Клявас® 1.9.2004, 15:11
Red Dragon
вообщем конченная цель это: ты уже сделал, но было бы лучше, чтобы была переменная в том скрипте, типо мальчики и девочки...
Вот чтобы когда девушка празднует, писали: НАША ПОСЕТИТЕЛЬНИЦА...

Когда малчик: НАШ ПОСЕТИТЕЛЬ!!!!
Ну понял???

А что касается скрипта, где ты гово tounge.gif ришь про ДР новый год, т.к.это я уже хочу совершенно новый скрипт, чтобы он менял посетителям возраст в анкете....было 17 лет....стало 18 ...гыыыы...ну понял?! wink.gif tounge.gif

Автор: Gold Dragon 1.9.2004, 15:13
Цитата(Ignat @ 1.9.2004, 16:08)
в варианте Red Dragon можно вынести массив с датами в отдельный .js и править только его
Цитата(Red @ 1.9.2004, 15:18)
Данные можно и в отдельный файл вывести
biggrin.gif biggrin.gif biggrin.gif biggrin.gif


Ignat
Абсолютно согласен, что JavaScript для данных целей не самое лучшее. Но(!) Халявные хосты не очень то разрешают пользоваться Perl, PHP и тем более БД. Так что простенькие вещи мозно и на JS забабахать

Автор: Gold Dragon 1.9.2004, 15:26
Прям какой-то хочуха tounge.gif

Вот лови
Код
<html>
<head>
</head>
<body>
<script>
var mes = Array(
"010919760Роман",
"010919770Игорь",
"010919741Елена",
"010919791Ольга",
"010919600Андрей",
"010919841Татьяна")
var b = ""
var qqq = new Date();
var d = qqq.getDate()
var m = qqq.getMonth()+1
var g = qqq.getFullYear()

for (var i=0; i<mes.length;i++){
a = mes[i].substring(9,mes[i].length)

if (mes[i].substring(8,9)==0){
b = 'мальчик'
}
else{
b = 'девочка'
}

if (d==mes[i].substring(0,2)){
if (m==mes[i].substring(2,4)){
document.write(a+" празднует своё "+(g-mes[i].substring(4,8))+"-летие, это "+b+"<br>")
}
}
}
</script>
</body>
</html>

Цитата
чтобы он менял посетителям возраст в анкете....было 17 лет....стало 18 ...гыыыы...ну понял?!

Ну ты приколол biggrin.gif biggrin.gif biggrin.gif А что легче каждый год менять возраст, чем просто записать год рождения

Автор: Клявас® 1.9.2004, 15:29
Red Dragon
а вот если в скрипте 23 участника, надо что-нибудь ещё менять в скрипте?!
А то он с твоими 6 работает, а вот с моими 23 - нет sad.gif

Автор: Ignat 1.9.2004, 15:37
Red Dragon, упс... wow.gif Читал невнимательно. Прошу прощения...
Сейчас много бесплатных хостингов, предоставляющих PHP и Perl, хоть в кастрированном варианте, но предоставляют.

Автор: Gold Dragon 1.9.2004, 15:37
основной файл
Код
<html>
<head>
</head>
<body>
<script language="JavaScript" type="text/javascript" src="16.js"></script>
<script>
var b = ""
var qqq = new Date();
var d = qqq.getDate()
var m = qqq.getMonth()+1
var g = qqq.getFullYear()

for (var i=0; i<mes.length;i++){
a = mes[i].substring(9,mes[i].length)

if (mes[i].substring(8,9)==0){
b = 'мальчик'
}
else{
b = 'девочка'
}

if (d==mes[i].substring(0,2)){
if (m==mes[i].substring(2,4)){
document.write(a+" празднует своё "+(g-mes[i].substring(4,8))+"-летие, это "+b+"<br>")
}
}
}
</script>
</body>
</html>

файл 16.js
Код
var mes = Array(
"010919760Роман",
"010919770Игорь",
"010919741Елена",
"010919791Ольга",
"010919600Андрей",
"010919841Татьяна")

Сюда хоть 1000 лепи, только формат должен соблюдать
Код
var mes = Array("...","...","...","..." ...... "...")



Ignat
Не могу найти бесплатный хост с PHP, чтоб мне все права были разрешены (777)

Автор: Ignat 1.9.2004, 15:42
Цитата(Red @ 1.9.2004, 16:37)
Не могу найти бесплатный хост с PHP, чтоб мне все права были разрешены (777)

Ты еще доступ по SSH попроси. smile.gif

Автор: Клявас® 1.9.2004, 15:52
Код
var mes = Array(
"030319860Dvornik",
"090819840SerpeNT",
"100319860Klyavas",
"060319881AraTaKpucTu",
"200719880Xomiak",
"161019871Dinara",
"140719871ptaha",
"090419890ДЕНИС ОХРИМ",
"090519861Мэг",
"180419850AВTOPuTET",
"120220041Кролик Соня",
"180819861MKissa",
"290819871Akola",
"290319891Liuda",
"161219850Darkmage",
"160919871Зелененькая",
"190319850Gunslinger",
"100619860Dvornik",
"240319840Deus",
"220119871Гретхен",
"150519861Думка",
"150219850Фродо"
"240919760And")
var b = ""
var qqq = new Date();
var d = qqq.getDate()
var m = qqq.getMonth()+1
var g = qqq.getFullYear()

for (var i=0; i<mes.length;i++){
a = mes[i].substring(9,mes[i].length)

if (mes[i].substring(8,9)==0){
b = 'Наш агатаман'
}
else{
b = 'Наша агатаманка'
}

if (d==mes[i].substring(0,2)){
if (m==mes[i].substring(2,4)){
document.write(b+" с ником "+a+" празднует своё "+(g-mes[i].substring(4,8))+"-летие!"<br>")
}
}
}




Блин, можешь поможешь найти ошибку?!

Что-то я видимо в этой строке не то намудрил:

document.write(b+" с ником "+a+" празднует своё "+(g-mes[i].substring(4,8))+"-летие!"<br>")

Автор: Gold Dragon 1.9.2004, 15:54
Кавычек всегда чётное число tounge.gif
document.write(b+" с ником "+a+" празднует своё "+(g-mes[i].substring(4,8))+"-летие!"<br>")

Автор: Клявас® 1.9.2004, 15:57
Убрал кавычку перед тегом <br> всё-равно тот же бред...ничего не выходит !!!

Вот ты сам его посмотри этот скрипт!!!!

Автор: Gold Dragon 1.9.2004, 16:00
"150219850Фродо",

Автор: Клявас® 1.9.2004, 16:04
Red Dragon
Дааааааааа....ну ты и заметливый!!!!!
Вообщем сейчас ВСЁ ОКЕЙ!!!
СПАСИБО ТЕБЕ ОГРОМНОЕ!!!
Когда-нибудь налью... wink.gif wink.gif wink.gif

Так а насчёт автоматом менять возраст, это сложно сделать с JS ???
У меня просто хост php не читает smile.gif

Автор: Gold Dragon 1.9.2004, 16:08
JavaScript не работает с файлами, и записывать ничего не умеет..

ЗЫ
А как наливать - http://forum.vingrad.ru/index.php?showtopic=28837&st=15

Автор: Клявас® 1.9.2004, 17:08
это опять Я ахахахахахах
А можно в этом скрипте сделать так, чтобы у каждого ника была отдельная ссылка, т.е. вот так:

document.write(b+" с ником "+a+" празднует своё "+(g-mes[i].substring(4,8))+"-летие! Поздравить можете <a href=/meet.dhtml>здесь</a><br>")

а у кого-то это ссылка выглядела вот так:

document.write(b+" с ником "+a+" празднует своё "+(g-mes[i].substring(4,8))+"-летие! Поздравить можете <a href=/meet2.dhtml>здесь</a><br>")

Ну типо для выборочных ников по-разному?!

Автор: Gold Dragon 1.9.2004, 17:57
Можно что угодно вставлять, только нужно придумать алгоритм придумать как строку обрабатывать. Посмотри код, там легко разобраться..


ЗЫ
Сегодня всё, отдыхать

Автор: Gold Dragon 2.9.2004, 09:24
Код
<html>
<head>
</head>
<body>
<script>
var mes = Array(
"020919860Dvornik~meet1.dhtml",
"020919840SerpeNT",
"020919860Klyavas~meet2.dhtml",
"060319881AraTaKpucTu",
"200719880Xomiak",
"161019871Dinara",
"140719871ptaha",
"090419890ДЕНИС ОХРИМ~meet3.dhtml",
"090519861Мэг~meet4.dhtml",
"180419850AВTOPuTET",
"120220041Кролик Соня",
"180819861MKissa~meet5.dhtml",
"290819871Akola~meet6.dhtml",
"290319891Liuda",
"161219850Darkmage",
"160919871Зелененькая",
"190319850Gunslinger~meet7.dhtml",
"100619860Dvornik~meet8.dhtml",
"240319840Deus",
"220119871Гретхен",
"150519861Думка",
"150219850Фродо~meet9.dhtml",
"240919760And")
var b = ""
var qqq = new Date();
var d = qqq.getDate()
var m = qqq.getMonth()+1
var g = qqq.getFullYear()

for (var i=0; i<mes.length;i++){

if (d==mes[i].substring(0,2)){
if (m==mes[i].substring(2,4)){

ind = mes[i].indexOf("~")
if (ind>=0){
a = mes[i].substring(9,ind-1)
c = " Поздравить можете <a href="+mes[i].substring(ind+1,mes[i].length)+">здесь</a>"
}
else{
a = mes[i].substring(9,mes[i].length)
c = ""
}

if (mes[i].substring(8,9)==0){
b = 'Наш агатаман'
}
else{
b = 'Наша агатаманка'
}

document.write(b+" с ником "+a+" празднует своё "+(g-mes[i].substring(4,8))+"-летие!"+c+"<br>")
}
}
}
</script>

</body>
</html>

Символ-разделитель ~ можешь свой поставить, а то может где встречается (в Нике или в адресе)

Автор: Клявас® 2.9.2004, 16:51
Red Dragon
Мдааааааааа.......ЭТО ПРОСТО СУПЕР-ПУПЕР СКРИПТ!!!!
Слышишь, а ты сам научился их делать, учился где-то или читал что-то?!
Я вот книжку по JS скачал...читай, не читай - всё-равно ничего не поймёшь!!!!
Ну а ты супер, молодец!!! biggrin.gif biggrin.gif biggrin.gif
Добавлено @ 16:53
А вот сейчас можешь такой быстренький скриптик набросить здесь:

Сегодня: четверг, 2 сентября, 2004 года

можешь!?

Автор: Клявас® 2.9.2004, 17:02
И если не трудно, чтобы в отдельных датах писался праздник...
Если конечно сможешь такой написать, просто я с инета скачал на 7 Килобайт...гыыыы...а это вроде много для такого?! Или как считаешь!? Нормально!?

Автор: Ignat 2.9.2004, 21:04
Цитата
просто я с инета скачал


Если ты его скачал., чтоб разобраться, то нормально.
А если бездумно применять - плохо.
Лучше изучай сам.

Автор: Клявас® 3.9.2004, 00:14
Ignat
а где я могу нормально изучить, может подскажешь?!

Автор: Gold Dragon 3.9.2004, 08:01
Клявас®
Новый вопрос - новый топик!

ЗЫ
Лучше купи бумажную книгу по JS

Автор: Aliance 9.9.2004, 17:51
Клявас®
Книги по JS (и DHTML) читай, очень помогают smile.gif

Автор: Sardar 9.9.2004, 23:55
Клявас® сверху есть две закрепленных темы: Книги по JavaScript и Xорошая документация. Сюда в первую очередь: http://wdh.suncloud.ru/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)