Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Calendar (vreau sa mut o coloana)
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Subiectul anterior :: Subiectul următor  
Autor Mesaj
diablo



Data înscrierii: 20/Mai/2005
Mesaje: 335
Locație: Bucuresti

Trimis: Lun Iul 16, 2007 5:23 pm    Titlul subiectului: Calendar (vreau sa mut o coloana)  

Se da urmatorul cod care genereaza un calendar:

Cod:


if($_GET[month] == '' && $$_GET[year] == '') {
   $time = time();
   $month = date('n',$time);
    $year = date('Y',$time);
}



$date = getdate(mktime(0,0,0,$month,1,$year));
$today = getdate();
$hours = $today[hours];
$mins = $today[minutes];
$secs = $today[seconds];

if(strlen($hours)<2) $hours="0".$hours;
if(strlen($mins)<2) $mins="0".$mins;
if(strlen($secs)<2) $secs="0".$secs;

$days=date("t",mktime(0,0,0,$month,1,$year));
$start = $date[wday]+1;
$name = $date[month];
$year2 = $date[year];
$offset = $days + $start - 1;
 
if($month==12) {
   $next=1;
   $nexty=$year + 1;
} else {
   $next=$month + 1;
   $nexty=$year;
}

if($month==1) {
   $prev=12;
   $prevy=$year - 1;
} else {
   $prev=$month - 1;
   $prevy=$year;
}

if($offset <= 28) $weeks=28;
elseif($offset > 35) $weeks = 42;
else $weeks = 35;

$output = "<table class='daytable' cellpadding='3' cellspacing='1' align='center' >
<tr>
   <td colspan='7'>
      <table border='0' width='100%'>
      <tr>
         <td valign='middle'>
            <a href='javascript:navigate($prev,$prevy)'><img src='images/left.gif' border='0'></a><a href='javascript:navigate(\"\",\"\")'><img src='images/center.gif' hspace='3' border='0'></a><a href='javascript:navigate($next,$nexty)'><img src='images/right.gif' border='0'></a>
         </td>
         <td align='right'>
            <div id='heading'>$name $year2</div>
         </td>
      </tr>
      </table>
   </td>
</tr>
<tr>
   <td class='dayhead'>Sun</td>
   <td class='dayhead'>Mon</td>
   <td class='dayhead'>Tue</td>
   <td class='dayhead'>Wed</td>
   <td class='dayhead'>Thu</td>
   <td class='dayhead'>Fri</td>
   <td class='dayhead'>Sat</td>
</tr>";

$col=1;
$cur=1;
$next=0;

switch($name)
{
   case 'January' : $luna = '01';break;
   case 'February' : $luna = '02';break;
   case 'March' : $luna = '03';break;
   case 'April' : $luna = '04';break;
   case 'May' : $luna = '05';break;
   case 'June' : $luna = '06';break;
   case 'July' : $luna = '07';break;
   case 'August' : $luna = '08';break;
   case 'September' : $luna = '09';break;
   case 'October' : $luna = '10';break;
   case 'November' : $luna = '11';break;
   case 'December' : $luna = '12';break;


}


if(!$_SESSION['date_selectate'])
   $_SESSION['date_selectate'] = array();

//print_r ($_SESSION['date_selectate']);
for($i=1;$i<=$weeks;$i++) {
   if($next==3) $next=0;
   if($col==1) $output.="<tr class='dayrow'>";
     
   $output.="";

   if($i <= ($days+($start-1)) && $i >= $start) {

      if($cur<10)
         $curr = "0".$cur;
      else
         $curr = $cur;


      
      
      


      if( in_array($year."-".$luna."-".$curr, $_SESSION['date_selectate']) )
      {
         $bgcolor="#fff000";
      }
      else
         $bgcolor="#ffffff";

      $exista = mysql_result(mysql_query("SELECT count(*) as nr FROM oferte WHERE hotel = '".$_SESSION['member_id']."' AND (data_start<='".$year."-".$luna."-".$curr."' AND data_end>='".$year."-".$luna."-".$curr."') "),0,"nr");

      if ($exista >0)
      {
         $bgcolor="#efefef";
         $output.="<td valign='top' bgcolor='".$bgcolor."' class='days' ><div ";
      }
      else
         $output.="<td valign='top' bgcolor='".$bgcolor."' onclick='selecteaza(\"".$year."-".$luna."-".$curr."\");' id='".$year."-".$luna."-".$curr."' class='days' ><div ";

      $output.="<td valign='top' bgcolor='".$bgcolor."' onclick='selecteaza(\"".$year."-".$luna."-".$curr."\");' id='".$year."-".$luna."-".$curr."' class='days' ><div ";

      if(($cur==$today[mday]) && ($name==$today[month])) $output.=" style='color:#FF0000'";
        $output.="><b>$cur</b>";
       
        $output.="</div></td>";
        $cur++;
        $col++;
   } else {
      $output.="<td valign='top' class='days' >&nbsp;</td>";
      $col++;
   } 
      
    if($col==8) {
       $output.="</tr>";
       $col=1;
    }
}

$output.="</table>";
 
echo $output;




calendarul merge ok ...numai ca e pe stil englezesc ..adika prima coloana este Duminca apoi Lunea , Martea. Eu vreau ca Lunea sa fie prima coloana.
Sus  
snowman



Data înscrierii: 02/Dec/2006
Mesaje: 362
Locație: Hunedoara

Trimis: Lun Iul 16, 2007 11:45 pm    Titlul subiectului:  

am inteles ce vrei ,mam uitat peste cod si inafar ca trebe sa modifici afisarea zilelor in ordinea in care vrei tu nu trebe modificat mare lucru.adik sa faci o legatura intre partea de sus cu zilele (Mon,Tue,Wen....) si zilele numerice.
sa vezi carei prima zi din luna .daca e Sun cum e luna asta afisezi acolo cifra 1 ,iar scriptul o sati afiseze singur restu.
daca ai gasit ca prima zi e Duminica afisezi(incepi afisarea) in coloana 7,daca e Vineri incepi din coloana 5 S.a.m.d.

- deci returnezi care e prima zi din luna si dupa aia incepi afisarea in coloana respectiva.


p.s. :am scris atat de mult ca sa inteleaga si un copil de 13 ani,sper ca ai inteles :wink:
Sus  
diablo



Data înscrierii: 20/Mai/2005
Mesaje: 335
Locație: Bucuresti

Trimis: Mar Iul 17, 2007 7:36 am    Titlul subiectului:  

$start = $date[wday]+1; am sters +1 si am modificat si capul de tabel cu numele zilelor!

multam de sfaturi!
Sus  
UzZzY



Data înscrierii: 11/Iun/2004
Mesaje: 208
Locație: Undeva, departe

Trimis: Mar Iul 17, 2007 10:57 am    Titlul subiectului:  

Nu se mai poarta php4 :), vezi ce face date("N") in php > 5.1.0
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community