הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   לוח שנה שעשיתי ומביא לכם במתנה (https://hosts.co.il/forums/showthread.php?t=6125)

Espire 18-11-05 13:08

לוח שנה שעשיתי ומביא לכם במתנה
 
טוב עשיתי לוח שנה ורציתי שתראו
הנה הקוד:
PHP קוד:

<html>
<head>
<title>PHP Calendar</title>
<style type="text/css">
<!-- 
.table.calendar {
border: 1px solid #000000; 
border-collapse: collapse; 
color: #000000; 
background: #FFFFFF; 
}
.td.today { 
border: 1px solid white; 
color: #000000; 
background: #EFEFEF; 
font-weight: bold;
}
.td.monthdays {
border: 1px solid #434470; 
color: #000000; 
background: #FFFFFF;
}
.td.nonmonthdays { 
border: 1px solid white; 
color: #000000; 
background: #EFEFEF;
}
-->
</style>
<body>
<?php
error_reporting
('0');
ini_set('display_errors''0');
// Gather variables from
// user input and break them
// down for usage in our script

if(!isset($_REQUEST['date'])){
   
$date mktime(0,0,0,date('m'), date('d'), date('Y'));
} else {
   
$date $_REQUEST['date'];
}

$day date('d'$date);
$month date('m'$date);
$year date('Y'$date);

// Get the first day of the month
$month_start mktime(0,0,0,$month1$year);

// Get friendly month name
$month_name date('M'$month_start);

// Figure out which day of the week
// the month starts on.
$month_start_day date('D'$month_start);

switch(
$month_start_day){
    case 
"Sun"$offset 0; break;
    case 
"Mon"$offset 1; break;
    case 
"Tue"$offset 2; break;
    case 
"Wed"$offset 3; break;
    case 
"Thu"$offset 4; break;
    case 
"Fri"$offset 5; break;
    case 
"Sat"$offset 6; break;
}

// determine how many days are in the last month.
if($month == 1){
   
$num_days_last cal_days_in_month(012, ($year -1));
} else {
   
$num_days_last cal_days_in_month(0, ($month -1), $year);
}
// determine how many days are in the current month.
$num_days_current cal_days_in_month(0$month$year);

// Build an array for the current days
// in the month
for($i 1$i <= $num_days_current$i++){
    
$num_days_array[] = $i;
}

// Build an array for the number of days
// in last month
for($i 1$i <= $num_days_last$i++){
    
$num_days_last_array[] = $i;
}

// If the $offset from the starting day of the
// week happens to be Sunday, $offset would be 0,
// so don't need an offset correction.

if($offset 0){
    
$offset_correction array_slice($num_days_last_array, -$offset$offset);
    
$new_count array_merge($offset_correction$num_days_array);
    
$offset_count count($offset_correction);
}

// The else statement is to prevent building the $offset array.
else {
    
$offset_count 0;
    
$new_count $num_days_array;
}

// count how many days we have with the two
// previous arrays merged together
$current_num count($new_count);

// Since we will have 5 HTML table rows (TR)
// with 7 table data entries (TD)
// we need to fill in 35 TDs
// so, we will have to figure out
// how many days to appened to the end
// of the final array to make it 35 days.


if($current_num 35){
   
$num_weeks 6;
   
$outset = (42 $current_num);
} elseif(
$current_num 35){
   
$num_weeks 5;
   
$outset = (35 $current_num);
}
if(
$current_num == 35){
   
$num_weeks 5;
   
$outset 0;
}
// Outset Correction
for($i 1$i <= $outset$i++){
   
$new_count[] = $i;
}

// Now let's "chunk" the $all_days array
// into weeks. Each week has 7 days
// so we will array_chunk it into 7 days.
$weeks array_chunk($new_count7);


// Build Previous and Next Links
$previous_link "<a href=\"".$_SERVER['PHP_SELF']."?date=";
if(
$month == 1){
   
$previous_link .= mktime(0,0,0,12,$day,($year -1));
} else {
   
$previous_link .= mktime(0,0,0,($month -1),$day,$year);
}
$previous_link .= "\"><< Prev</a>";

$next_link "<a href=\"".$_SERVER['PHP_SELF']."?date=";
if(
$month == 12){
   
$next_link .= mktime(0,0,0,1,$day,($year 1));
} else {
   
$next_link .= mktime(0,0,0,($month +1),$day,$year);
}
$next_link .= "\">Next >></a>";

// Build the heading portion of the calendar table
echo "<table border=\"1\" cellpadding=\"2\" cellspacing=\"0\" width=\"300\" class=\"calendar\">\n".
     
"<tr>\n".
     
"<td colspan=\"7\">\n".
     
"<table align=\"center\">\n".
     
"<tr>\n".
     
"<td colspan=\"2\" width=\"75\" align=\"left\">$previous_link</td>\n".
     
"<td colspan=\"3\" width=\"150\" align=\"center\">$month_name $year</td>\n".
     
"<td colspan=\"2\" width=\"75\" align=\"right\">$next_link</td>\n".
     
"</tr>\n".
     
"</table>\n".
     
"</td>\n".
     
"<tr>\n".
     
"<td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td>\n".
     
"</tr>\n";

// Now we break each key of the array
// into a week and create a new table row for each
// week with the days of that week in the table data

$i 0;
foreach(
$weeks AS $week){
       echo 
"<tr>\n";
       foreach(
$week as $d){
         if(
$i $offset_count){
             
$day_link "<a href=\"".$_SERVER['PHP_SELF']."?date=".mktime(0,0,0,$month -1,$d,$year)."\">$d</a>";
             echo 
"<td class=\"nonmonthdays\">$day_link</td>\n";
         }
         if((
$i >= $offset_count) && ($i < ($num_weeks 7) - $outset)){
            
$day_link "<a href=\"".$_SERVER['PHP_SELF']."?date=".mktime(0,0,0,$month,$d,$year)."\">$d</a>";
           if(
$date == mktime(0,0,0,$month,$d,$year)){
               echo 
"<td class=\"today\">$d</td>\n";
           } else {
               echo 
"<td class=\"days\">$day_link</td>\n";
           }
        } elseif((
$outset 0)) {
            if((
$i >= ($num_weeks 7) - $outset)){
               
$day_link "<a href=\"".$_SERVER['PHP_SELF']."?date=".mktime(0,0,0,$month +1,$d,$year)."\">$d</a>";
               echo 
"<td class=\"nonmonthdays\">$day_link</td>\n";
           }
        }
        
$i++;
      }
      echo 
"</tr>\n";   
}

// Close out your table and that's it!
echo '<tr><td colspan="7" class="days"> </td></tr>';
echo 
'</table>';
?>
</body>
</html>

נ.ב
זה מתנה ממני אז בבקשה
לא להגיד שאתם הכנתם או משהו.
סומך עליכם.

djkfir 18-11-05 13:12

מגניב
היתה יכול לעצב את זה טיפה יותר ולתרגם לנו את זה :)

תודה רבה

ערוך: תרגמתי את הכול חוץ מהחודשים אני לא מוצא את החודשים על הקוד :\

Ori The Man 18-11-05 13:39

תודה רבה :)

A.M.F 18-11-05 14:57

נחמד מאוד
אגב, לא משהו קשור- בקשר לחתימה שלך, ממתי יש דבר כזה מתכנת גרפי? P:

hosting_144 18-11-05 15:01

ואאו נחמד
שהיה לך בהצלחה בהמשך

Israel_Project 18-11-05 15:01

יפה אחי!!

Espire 18-11-05 15:19

ציטוט:

נכתב במקור על ידי A.M.F
נחמד מאוד
אגב, לא משהו קשור- בקשר לחתימה שלך, ממתי יש דבר כזה מתכנת גרפי? P:

חח טעות שלי אני יערוך עוד מעט

B-T 19-11-05 23:57

אם כבר דיברו על החתימה שלך....
*"אינטרנט אקספלורר" היה....
"אם אינטרנט אקספלורר הייתה בנאדם הייתי הורג אותו!"

Vision 21-11-05 19:10

נחמד, אבל באמת היה כדאי לעצב אותו...

psycho 22-11-05 20:05

חמוד אתה...

א. לפי האנגלית שבסקריפט ישר ידעתי שאתה לא כתבת נדיר למצוא ישראלי שכותב הערות ועוד באנגלית כזו
ב. רוצים גם אתם "להכין לבד" אחד כזה?
http://www.phpfreaks.com/tutorials/83/3.php

תהנו.

אל תיקח קרדיט על משו שלא עשית
זה מוריד מהכבוד שלך

Espire 22-11-05 20:07

חבר מהאיסיקיון עזר לי יכול להיות עבד עליי

razor 22-11-05 20:37

שימושי מאוד.
תודה רבה.

WebProject 22-11-05 20:56

נו באמת, אנחנו אמורים להאמין לזה?

ההערות כאן הם חלק גדול מהקוד, אם הוא עזר לך, סימן שהוא כתב את זה לך.

פעם הבאה שתרצה להרשים משהו בנה משהו בכוחות עצמך.

נעול.


כל הזמנים הם GMT +2. הזמן כעת הוא 12:04.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ