Birthday Script

Ai o întrebare legată de PHP? Incercăm să îi găsim soluţie. Sau poate doar vrei să publici un cod interesant.

Moderatori: Zamolxe, Moderatori

Avatar utilizator
PET
Senior Member
Mesaje: 325
Membru din: Mie Aug 20, 2003 11:40 pm
Localitate: Timisoara
Contact:

Birthday Script

Mesajde PET » Mar Sep 12, 2006 2:29 am

Salut,


am 3 campuri. 1 zi de nastere, 2 dropdown cu lunile anului, si 3 casuta unde bag anul.

Vreau sa le transform pe toate in dropdownuri pentru a evita ... "sa nascut in anul 3053" ... de exemplu.

Problema e urmatoarea:

Cum fac ca in dropdown-ul de "ZI" sa vada ce luna e, si in functie de luna acceea sa modifice numarul total de zile. 30,31, 28/29 daca e februarie.


PET - Vesnicul n00b al acestui forum :)

Avatar utilizator
Dodo
Senior Member
Mesaje: 958
Membru din: Mar Aug 22, 2006 2:40 pm
Localitate: Constanta
Contact:

Mesajde Dodo » Mar Sep 12, 2006 3:00 am

|

Avatar utilizator
kyron
Senior Member
Mesaje: 639
Membru din: Joi Sep 16, 2004 1:12 pm
Localitate: Bucuresti
Contact:

Mesajde kyron » Mar Sep 12, 2006 10:54 am

Atentie ! Nu poti aplica functia de mai sus fara sa stii anul ! Trebuie sa verifici inainte daca e an bisect, ca sa stii cate zile are luna februarie.

Avatar utilizator
vectorialpx
Senior Member
Mesaje: 4832
Membru din: Mar Mar 01, 2005 9:48 am
Localitate: Bucuresti
Contact:

Mesajde vectorialpx » Mie Sep 13, 2006 9:08 am

pentru a verifica inainte... faci checkdate...

pentru a selecta faci cam asa:
<select name="functie" id="functie">
<option value="" <?php if($profil['functie'] == '') print "selected"; ?>> alegeti functia </option>
<option value="director" <?php if($profil['functie'] == 'director') print " selected"; ?>>diretor</option>
<option value="profesor" <?php if($profil['functie'] == 'profesor') print " selected"; ?>>profesor</option>
<option value="elev"<?php if($profil['functie'] == 'elev') print " selected"; ?>>elev</option>
</select>

pricepi... verifici la fiecare si scrii selected... daca da... daca nu... nu se scrie nimic !

Avatar utilizator
PET
Senior Member
Mesaje: 325
Membru din: Mie Aug 20, 2003 11:40 pm
Localitate: Timisoara
Contact:

Mesajde PET » Dum Sep 17, 2006 3:10 pm

se poate un link catre un tutorial ceva ?
PET - Vesnicul n00b al acestui forum :)

whiteadi
PHPRomania Supporter
Mesaje: 26
Membru din: Joi Mar 04, 2004 12:25 pm
Localitate: Timisoara
Contact:

Mesajde whiteadi » Joi Sep 21, 2006 3:57 pm


ciprianorha
New Member
Mesaje: 1
Membru din: Joi Sep 21, 2006 4:26 pm

Mesajde ciprianorha » Joi Sep 21, 2006 4:29 pm

<script language="JavaScript">
function checkDate()
{
var _zi = document.getElementById('zi').options[document.getElementById('zi').selectedIndex].value;
var _luna = document.getElementById('luna').options[document.getElementById('luna').selectedIndex].value;
var _an = document.getElementById('an').options[document.getElementById('an').selectedIndex].value;
var bisect = false
if(_an%4==0)
{
bisect= true;
}
switch(parseInt(_luna))
{
// februarie
case 2:
if(bisect)
{
if(_zi > 28)
{
alert ('Data incorecta');
}
}
else
{
if(_zi > 29)
{
alert ('Data incorecta');
}
}
break;
// lunile cu 30
case 4 :
case 6 :
case 9 :
case 11:
if(_zi > 30)
{
alert ('Data Incorecta')
}
break;
}
}
</script>
<?$crt_date=getdate();?>
<select onchange="javascript:checkDate();" id="zi" name="day">
<? for($zi=1;$zi<=31;$zi++)
{?>
<option value="<?strlen($zi)< 2 ? print "0".$zi : print $zi?>"<?if($zi==$day) print" selected"?>><?strlen($zi)< 2 ? print "0".$zi : print $zi?></option>
<? }?>
</select><select onchange="javascript:checkDate();" id="luna" name="month">
<? for($luna=1;$luna<=12;$luna++)
{?>
<option value="<?strlen($luna)< 2 ? print "0".$luna : print $luna?>"<?if($luna==$month) print" selected"?>><?strlen($luna)< 2 ? print "0".$luna : print $luna?></option>
<? }?>
</select><select onchange="javascript:checkDate();" id="an" name="year">
<? for($an=1950;$an <= $crt_date['year'];$an++)
{?>
<option value="<?print $an?>"<?if($an==$year) print" selected"?>><?print $an?></option>
<? }?>
</select>

johnny
Senior Member
Mesaje: 904
Membru din: Sâm Iul 31, 2004 12:22 pm
Localitate: Bucuresti
Contact:

Mesajde johnny » Joi Sep 21, 2006 8:13 pm

1. De ce trebuie sa fie selecturi si nu un
?
E similar cu rusii care nu au dezvoltat un pix care sa scrie in spatiu, ci au luat un creion...

2. Toate variantele postate mai sus sunt gresite, din 2 ratiuni, in principal:
- verificarea de an bisect lipseste sau e eronata
- nu functioneaza cross-browser

@octavian
ce faci daca ai 1.000 de optiuni in select? scrii 1000 de linii de cod?
ori esti geniu in regexp ori chiar scrii liniile alea de cod.

@nota personala
Doamne, cat a scazut forumul asta...

o sa urmeze in scurt timp o solutie incropita...

johnny
Senior Member
Mesaje: 904
Membru din: Sâm Iul 31, 2004 12:22 pm
Localitate: Bucuresti
Contact:

Mesajde johnny » Joi Sep 21, 2006 9:50 pm

Ultima oară modificat Vin Sep 22, 2006 12:34 pm de către johnny, modificat de 2 ori în total.

Avatar utilizator
Dodo
Senior Member
Mesaje: 958
Membru din: Mar Aug 22, 2006 2:40 pm
Localitate: Constanta
Contact:

Mesajde Dodo » Joi Sep 21, 2006 10:18 pm

|

Avatar utilizator
PET
Senior Member
Mesaje: 325
Membru din: Mie Aug 20, 2003 11:40 pm
Localitate: Timisoara
Contact:

Mesajde PET » Mie Sep 27, 2006 1:07 am

jhonny, cum introduc data in campurile Select?
PET - Vesnicul n00b al acestui forum :)

Avatar utilizator
Mascka
Senior Member
Mesaje: 1376
Membru din: Sâm Oct 01, 2005 8:00 am
Localitate: Braila
Contact:

Mesajde Mascka » Mie Sep 27, 2006 10:38 am

or

johnny
Senior Member
Mesaje: 904
Membru din: Sâm Iul 31, 2004 12:22 pm
Localitate: Bucuresti
Contact:

Mesajde johnny » Vin Sep 29, 2006 3:48 pm


Avatar utilizator
PET
Senior Member
Mesaje: 325
Membru din: Mie Aug 20, 2003 11:40 pm
Localitate: Timisoara
Contact:

Mesajde PET » Vin Oct 13, 2006 6:17 pm

PET - Vesnicul n00b al acestui forum :)


Înapoi la “Cod PHP”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 12 vizitatori