Δυναμική εμφάνιση της μέρας γέννησης

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Δυναμική εμφάνιση της μέρας γέννησης

Δημοσίευση από panos78 » 19 Ιούλ 2006 17:24

Καλησπέρα σε όλους καλό μας καλοκαίρι.
Θέλω να κάνω το εξής:
Έχω τρία αναδυόμενα μενού.
Το πρώτο έχει την ημέρα του μήνα,
το δεύτερο έχει τον μήνα και
το τρίτο έχει το έτος.
Υπάρχει τρόπος να εμφανίζεται δυναμικά στα αριστερά αυτών των μενού η ημέρα της εβδομάδας που θα αντιστοιχεί στην ημερομηνία που θα οριστεί στα παραπάνω αναδυόμενα μενού;
Η χρήση του παραπάνω μπορεί π.χ. να είναι για να δει κάποιος τη μέρα ήταν όταν γεννήθηκε.
Αναμένω τις απαντήσεις σας.
:)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

Δυναμική εμφάνιση της μέρας γέννησης

Δημοσίευση από soteres2002 » 19 Ιούλ 2006 22:32

enas aplos tropos einai na eisageis ston kodika sou ligi magia apo sessions.

an day, month kai year einai ta pedia tote.

<?
//auto tha to baleis stin korifi tou eggrafou sou
session_start();
?>

<?php
// auto to block enimeronei i arxikoipoiei (an den exei ginei idi toulaxiston mia dilosi)
// tis metablites pou xreiazomaste
// pano stin sinodo
if(isset($_REQUEST["day"]) && isset($_REQUEST["month"]) && isset($_REQUEST["year"])) {
$_SESSION["day"] = $_REQUEST["day"];
$_SESSION["month"] = $_REQUEST["month"];
$_SESSION["year"] = $_REQUEST["year"];
}
?>

<?php
// auto balto ekei pou thes na emfanizetai i imerominia
if(isset($_SESSION["day"]) && isset($_SESSION["month"]) && isset($_SESSION["year"])) {
$brth = $_SESSION["month"] . "/" . $_SESSION["day"] . "/" . $_SESSION["year"];
print("Your birthday is: $brth");
}
?>

autos einai o skeletos. tora an trexeis pano se enan server kai thes na allakseis tis trexouses rithmiseis tou server pano sta sessions:

tote meta to session_start() kane ta aparetita ini_set("directive_apo_php.ini","value")
oste na efarmostoun eikonika (xoris na ginei opoiadipote allagi mesa sto php.ini arxeio parametropoiisis).

An thes perissoteri boithia i plirofories pano sta sessions, pane sto http://www.php.net .
Gia demo kodika psakse sto google.com

An iparkei problima me ton kodika pou sou egrapsa i iparxei kapoio typo, steile mou ena pm.

episis, prosekse, i forma na exei action attribute sto trexon eggrafo kalitera bale ena

<font action="<?=$PHP_SELF?>" ...... ktl

oste se periptosi [pou kaneis rename to arxeio php, na autoenimeronei to action se kathe etisi tis selidas.

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Δυναμική εμφάνιση της μέρας γέννησης

Δημοσίευση από panos78 » 20 Ιούλ 2006 00:54

Σε ευχαριστώ για την απάντηση αλλά δεν ζήτησα κάτι τέτοιο.
Θα προσπαθήσω να γίνω πιο σαφής για το τι θέλω να κάνω.
Το πρώτο και βασικό είναι ότι η όλη διαδικασία θέλω να γίνεται client side και όχι server side.
Νομίζω ότι η javascript κάνει καλύτερα αυτή τη δουλειά και όχι η ΡΗΡ.
Έστω ότι έχω ένα αρχείο κειμένου (π.χ. eggrafes.txt) που ανά γραμμή έχω μια εγγραφή της μορφής:

|ημέρα|μήνας|έτος|εγγραφή|

Με τη βοήθεια του κώδικα:

Κώδικας: Επιλογή όλων

<?
$meres = array &#40;'Κυριακή','Δευτέρα','Τρίτη','Τετάρτη','Πέμπτη','Παρασκευή','Σάββατο'&#41;;
$mines = array &#40;1=>'Ιανουαρίου','Φεβρουαρίου','Μαρτίου','Απριλίου','Μαΐου','Ιουνίου','Ιουλίου','Αυγούστου','Σεπτεμβρίου','Οκτωβρίου','Νοεμβρίου','Δεκεμβρίου'&#41;;
$logfile = 'eggrafes.txt';
$file_line = file&#40;$logfile&#41;;
$total_lines = count&#40;$file_line&#41;;
for&#40;$i = 0; $i < $total_lines; $i++&#41; 
&#123;
	$line_array = explode&#40;"|",$file_line&#91;$i&#93;&#41;;
	/************************************************
		$line_array&#91;1&#93;  = $mera		= Ημέρα του μήνα
		$line_array&#91;2&#93;  = $minas	= Μήνας
		$line_array&#91;3&#93;  = $etos		= Έτος
		$line_array&#91;4&#93;  = $eggrafi	= Εγγραφή
	************************************************/
	echo '<form name=form'.&#40;$i+1&#41;.'>
//	??????????????????????????????
	<SELECT class="normal" NAME="mera">';
	for &#40;$imera=1;$imera <=31;$imera++&#41; 
	&#123;
		echo '<option value="'.$imera.'" '.&#40;$line_array&#91;1&#93;==$imera ? 'selected' &#58; ''&#41;.'>'.$imera; 
	&#125;
	echo '</SELECT>
	<SELECT class="normal" NAME="minas">';
	foreach &#40;$meres as $minasnum => $month&#41; 
	&#123;
		echo '<option value="'.$minasnum.'" '.&#40;$line_array&#91;2&#93;==$minasnum ? 'selected' &#58; ''&#41;.'>'.$month; 
	&#125;
	echo '</SELECT><SELECT class="normal" NAME="etos">';
	for &#40;$year=2000;$year <=2050;$year++&#41; 
	&#123;
		echo '<option value="'.$year.'" '.&#40;$line_array&#91;3&#93;==$year ? 'selected' &#58; ''&#41;.'>'.$year; 
	&#125;
	echo '</SELECT>';
	echo '<input type="text" value="'.$line_array&#91;4&#93;.'">';
	echo '</form>';
&#125;
?>
δημιουργείτε μια φόρμα για κάθε εγγραφή.
Εκεί που είναι τα ???????????????????
θέλω να εμφανίζεται η μέρα της εβδομάδας που αντιστοιχεί στην τρέχουσα ημερομηνία της κάθε εγγραφής με το που ανοίγει η σελίδα ΚΑΙ
όταν αλλάζω κάποιο ή κάποια από τα αναδυόμενα μενού να αλλάζει δυναμικά και η εμφανιζόμενη μέρα της εβδομάδας.
Παράδειγμα:
Έστω ότι μια εγγραφή έχει ημερομηνία 12/9/1978.
Όταν ανοίγει η σελίδα, στα αριστερά των αναδυόμενων μενού θέλω να γράφει «Τρίτη».
Αν αλλάξω π.χ. τον μήνα σε Φεβρουάριο θέλω να εμφανίσει την «Κυριακή».
Η εμφάνιση θα είναι κάπως έτσι (σε αγκύλες είναι τα μενού):
Τρίτη, [12]η [Σεπτεμβρίου] [1978]
Κυριακή, [12]η [Φεβρουαρίου] [1978]
Ελπίζω να έγινα πιο κατανοητός.
:)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Δυναμική εμφάνιση της μέρας γέννησης

Δημοσίευση από skeftomilos » 20 Ιούλ 2006 01:04

Ένα quick & dirty. Απ' ότι βλέπω τα αντικείμενα Date δεν επιστρέφουν άμεσα τη weekday, αλλά μπορεί να βρεθεί στις toString και toLocaleString().

Κώδικας: Επιλογή όλων

<script type="text/javascript">
  function updateWeekDay&#40;form&#41; &#123;
    form&#91;'weekday'&#93;.value = new Date&#40;
      form&#91;'year'&#93;.value,
      form&#91;'month'&#93;.value - 1,
      form&#91;'day'&#93;.value
    &#41;.toLocaleString&#40;&#41;.match&#40;/^&#40;.*&#41;,/&#41;&#91;1&#93;
  &#125;
  window.onload = function&#40;&#41; &#123;
    updateWeekDay&#40;document.forms&#91;0&#93;&#41;
  &#125;
</script>
<form>
  <select name="day" onchange="updateWeekDay&#40;this.form&#41;">
    <option value="19">19</option>
    <option value="20" selected>20</option>
    <option value="21">21</option>
    <option value="22">22</option>
    <option value="23">23</option>
  </select>
  <select name="month" onchange="updateWeekDay&#40;this.form&#41;">
    <option value="6">Ιούνιος</option>
    <option value="7" selected>Ιούλιος</option>
    <option value="8">Αύγουστος</option>
  </select>
  <select name="year" onchange="updateWeekDay&#40;this.form&#41;">
    <option value="2005">2005</option>
    <option value="2006" selected>2006</option>
    <option value="2007">2007</option>
  </select>
  <input name="weekday" readonly>
</form>
EDIT: Ποιο κακό παιδί φταίει που ξεχείλωσε η σελίδα; OEO; :D
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Δυναμική εμφάνιση της μέρας γέννησης

Δημοσίευση από cherouvim » 20 Ιούλ 2006 07:07

Παίδες, μετά το κώμα βάζουμε πάντα κενό.

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Δυναμική εμφάνιση της μέρας γέννησης

Δημοσίευση από skeftomilos » 23 Ιούλ 2006 20:27

Τελικά υπάρχει άμεσος τρόπος ανάγνωσης της weekday, η Date.getDay() :)
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Δυναμική εμφάνιση της μέρας γέννησης

Δημοσίευση από panos78 » 24 Ιούλ 2006 13:06

Το βρήκα τελικά.
Σας ευχαριστώ όλλους σας.
:)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες