coax
Goto Top

Webdesign PHP Kalender, restlichen Zellen füllen (Spalte hinzufügen)

Das script füllt die restlichen Zeilen aus aber ich würde gerne noch eine weiter Zeile auffüllen lassen

Hallo,

ich habe mir ein script geladen von einem Kalender, das ding ist super finde ich aber ich möchte noch eine erweiterung reinschreiben.

Der Kalendermonat fängt ja an verschiedenen Tagen an, somit wächst die Zeilen größe natürlich.
Das script füllt die restlichen Spalten mit eine leerzeichen das sie somit angezeigt werden. das ist ja auch super in Ordnung.

Bloß da sich die größe des Kalenders ändert wollte ich nicht den Standart Hintergrund verwenden da das einfach stylish nicht reinpasst.

Mein Gedanke war das sich entweder die Tabellen größe automatisch dem Inhalt entsprechend ändert ( was aber ein hoch und runter fallen der linken Tabelle bedeutet ) oder das der Kalender die restlichen Spalten füllt und zusätzlich noch eine Zeile einfügt und dort auch die restlichen Spalten füllt.


	/////////////////////////////////////////////
	//The empty columns before the 1st day of the week
	//
	for( $i = 0 ; $i < $day_start; $i++ )
	{
		echo "<td class=\"cal_content\">&nbsp;</td>";  
	}
	//
	/////////////////////////////////////////////
	
	$current_position = $day_start; //The current (column) position of the current day from the loop
	
	$total_days_in_month = date("t",$date_string); //The total days in the month for the end of the loop  

	/////////////////////////////////////////////
	//Retrieve events for the current month + year
	//e-man : added 07 June 04
  if ($events_from_database)
  {
    $database_connection = mysql_connect ($server, $username, $password);
    mysql_select_db ($database, $database_connection);
    $result = mysql_query("  
      SELECT *
      FROM " . $event_table . "  
      WHERE
        EventYear = '" . $year . "'  
      AND
        EventMonth = '" . $month . "'  
    ");  
    while ($record = mysql_fetch_assoc($result)){
      $event[$record['EventDay']] = $record;  
    }
  }
	//
	/////////////////////////////////////////////

	/////////////////////////////////////////////
	//Loop all the days from the month
	//
	for( $i = 1; $i <= $total_days_in_month ; $i++)
	{
		$class = "cal_content";  
		
		if( $i == date("j") && $month == date("n") && $year == date("Y") )  
			$class = "cal_today";  
		
		$current_position++;

    /* is there any event on this day? Yes, create a link. No clear the (previous) string */
		$link_start = "";  
		$link_end   = "";  


    /* if there is an event do */
		if( isset($event[$i]) )
    {
      $link_start = "<a href=\"javascript:;\" class=\"cal_event\" onclick=\"javascript: open_event('".$year."-".$month."-".$i."');\">";  
      $link_end   = "</a>";  
      $class      = "cal_event";  
    }

    /* for the event filter */
    /* e-man : added 07 June 04 */
    $date_stamp = $year."-".$month."-".sprintf( "%02d",$i);  
    
		echo "<td align=\"center\" class=\"" . $class . "\">" . $link_start . $i . $link_end . "</td>";  
		if( $current_position == 7 )
		{
			echo "</tr><tr>\n";  
			$current_position = 0;
		}
	}
	//
	/////////////////////////////////////////////
	
	$end_day = 7-$current_position; //There are 
	
	/////////////////////////////////////////////
	//Fill the last columns
	//	
	for( $i = 0 ; $i < $end_day ; $i++ )
		echo "<td class=\"cal_content\">&nbsp;</td>\n";  
	//
	/////////////////////////////////////////////
	
	echo "</tr></table>";  // Close the table  
?>

das ist der code... ich habe schon etwas verändert, unzwar habe ich hier

                /////////////////////////////////////////////
	//Fill the last columns
	//	
	for( $i = 0 ; $i < $end_day ; $i++ )
		echo "<td class=\"cal_content\">&nbsp;</td>\n";  
	//
	/////////////////////////////////////////////

das leerzeichen eingefügt [ &nbsp; ] und somit wird wenn der 30 oder 31 Tag der letzte Tag in der vorletzten Spalte ist das er dann die nächste Zeile auch darstellt.

2 Bilder wo es einmal nciht so schön und wo es einmal schön aussieht ;)

http://www.c-o-a-x.de/nicht.jpg

http://www.c-o-a-x.de/gut.jpg


Das Bild mit dem Spetember sieht echt Klasse aus aber das mit dem Oktober z.B. sieht garnicht schön aus.

wenn ihr noch den Rest des codes benötogt bitte schreiben.

Ich würde mich freuen wenn jemand weiß wie ich zusätlich die fehlende Zeile mit den Spalten einfüge.

gruß Fabian


PS.: Das mit dem event habe ich nicht aktiv da ich keine weitere MySql DB frei habe beim Provider ;)

Content-ID: 41478

Url: https://administrator.de/contentid/41478

Ausgedruckt am: 22.11.2024 um 10:11 Uhr

Coax
Coax 06.10.2006 um 06:12:15 Uhr
Goto Top
So habe eine Notlösung gefunden.

Ich habe ein Hintergrund Bild mit dem Muster des Kalenders erstellt und so sieht das wirklich klasse aus face-smile

schönen Gruß