php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.05.2005, 22:44  
Gast
 
Beiträge: n/a
Standard fehler im Kalender

ich habe ein problem... ich habe mit einer hilfe ein sql gestützter kalender geschrieben. nun hat sich irgend wo ein fehler eingeschlichen. und ich finde ihn nicht. die tage zählt der kalender bis ende woche(z.b. mai hat 36 tage). kann mir da jemand weiter helfen?
PHP-Code:
<?php
if (isset($_POST["jahr"])) {$jahr $_POST["jahr"];}//auswahl JAHR UND MONATE FÜR SQL
   
else {$jahr date("Y");}
  if (isset(
$_POST["monat"])) {$monat $_POST["monat"];}
   else {
$monat date("n");}

$datum mktime(0,0,0,$monat,1,$jahr);//datum bestimmung
$t date("t",$datum);
$w date("w",$datum);

$tag = array(1,0,6,5,4,3,2);

$monat_ohne_erste_woche $t $tag[$w];//wochen vatianten ausrechnung
$letzte_woche $erste_woche 7;
$wochen = ($monat_ohne_erste_woche $letzte_woche) / 7;
$leere_zellen_erste_woche $tag[$w];
$volle_zellen_erste_woche $w 1;
$leere_zellen_letzte_woche $letzte_woche;

mysql_select_db($SQL_datenbank,$SQL_verbindung);//SQL einbindung
$resultat mysql_query("select DAYOFMONTH(datum) as tag from kalender
where YEAR(datum)= $jahr and MONTH(datum) = $monat"
);

$tage_aktivitaeten = array();
$zaehler 0;

while (list(
$tag)=mysql_fetch_row($resultat))
  {
  
$tage_aktivitaeten[$zaehler] = $tag;
  
$zaehler++;
  }

$schon_gezaehlte_tage 0;

if (
$w == 0)
   {
   print 
"<tr>";
     for (
$i 0$i 6$i++)//abzählung erste woche im monat
     
{
       print 
'<td></td>';
     }
     
$schon_gezaehlte_tage += 1;
     if (
in_array($schon_gezaehlte_tage$tage_aktivitaeten))
       {echo 
'<td class="aktivitaet"><a href="eintrag.php?jahr='.$jahr.'&monat='.$monat.'&tag='.$schon_gezaehlte_tage.'">
       </a></td>'
;}
     else
       {print 
'<td>1</td>';}
   print 
"</tr>";
   }
elseif (
$w != 0)
   {
   print 
"<tr>";
     for (
$i2 0$i $leere_zellen_erste_woche$i++)
       {
       print 
'<td></td>';
       }

     for (
$i1 0$i $volle_zellen_erste_woche$i++)
       {
       
$schon_gezaehlte_tage += 1;
       if (
in_array($schon_gezaehlte_tage$tage_aktivitaeten))
         {
           echo 
'<td class="aktivitaet"><a href="eintrag.php?jahr='.$jahr.'&monat='.$monat.'&tag='.$schon_gezaehlte_tage.'">
           '
.$schon_gezaehlte_tage.'</a></td>';
         }
       else
         {
         print 
"<td>$schon_gezaehlte_tage</td>";
         }
      }
   print 
"</tr>";
   }

for (
$i 0$i $wochen$i++)
  {
  print 
"<tr>";

  for (
$d 0$d 7$d++)
    {
    
$schon_gezaehlte_tage += 1;

    if (
in_array($schon_gezaehlte_tage$tage_aktivitaeten))
      {
      echo 
'<td class="aktivitaet"><a href="eintrag.php?jahr='.$jahr.'&monat='.$monat.'&tag='.$schon_gezaehlte_tage.'">
      '
.$schon_gezaehlte_tage.'</a></td>';
      }
    else
      {
      print 
"<td>$schon_gezaehlte_tage</td>";
      }
    }
  print 
"</tr>";
  }

if (
$schon_gezaehlte_tage $t)
     {
     print 
'<tr>';
       while (
$letzte_woche 0)
        {
          
$letzte_tage $t $letzte_woche+1;
          if (
in_array($letzte_tage$tag))
            {
            echo 
'<td class="aktivitaet">'.$letzte_tage.'</td>';
            }
          else
            {
            print 
"<td>$letzte_tage</td>";
            }
          
$letzte_woche -= 1;
        }

       for (
$i 0$i $leere_zellen_letzte_woche$i++)
        {
          print 
'<td></td>';
        }
     print 
'</tr>';
     }

?>
ich vermute der fehler liegt irgendwo in diesem code teil
PHP-Code:
<?php
if ($schon_gezaehlte_tage $t)
     {
     print 
'<tr>';
       while (
$letzte_woche 0)
        {
          
$letzte_tage $t $letzte_woche+1;
          if (
in_array($letzte_tage$tag))
            {
            echo 
'<td class="aktivitaet">'.$letzte_tage.'</td>';
            }
          else
            {
            print 
"<td>$letzte_tage</td>";
            }
          
$letzte_woche -= 1;
        }

       for (
$i 0$i $leere_zellen_letzte_woche$i++)
        {
          print 
'<td></td>';
        }
     print 
'</tr>';
     }

?>
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.05.2005, 12:15  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

bau vieleicht mal ein error_reporting ein ob irgendwo was falsch läuft:

error-reporting
Zum testen von Scripts setzt man normalerweise am anfang des scripts (oder direkt in einer config-datei die immer Includet wird)
PHP-Code:
error_reporting(E_ALL); 
damit werden dann alle Fehler ausgegeben.
Mögliche Fehler die dann auftreten und wie man sie beheben kann:
Notice: Use of undefined constant ...
Notice: Undefined variable ...
robo47 ist offline   Mit Zitat antworten
Alt 31.05.2005, 13:31  
Gast
 
Beiträge: n/a
Standard

super, danke für den tip... habe den ersten fehlerhinweis gefunden... ich poste dan den script, wen er funktioniert
  Mit Zitat antworten
Alt 01.06.2005, 12:58  
Gast
 
Beiträge: n/a
Standard

So, habe den fehler gefunden.
Abgesehen von ein paar versifften undefinierte variablen, hatte ich in der letzte zeile noch die falsche variable in eine array eingetragen.

hier der funktionierende code
PHP-Code:
<?php

error_reporting
(E_ALL);
if (isset(
$_POST["jahr"])) {$jahr $_POST["jahr"];}
   else {
$jahr date("Y");}
  if (isset(
$_POST["monat"])) {$monat $_POST["monat"];}
   else {
$monat date("n");}

$datum mktime(1,0,0,$monat,1,$jahr);
$t date("t",$datum);
$w date("w",$datum);

$tag = array(1,0,6,5,4,3,2);
$monat_ohne_erste_woche $t $tag[$w];
$letzte_woche $tag[$w] % 7;//hier war ein fehler
$wochen = ($monat_ohne_erste_woche $letzte_woche) / 7;
$leere_zellen_erste_woche $tag[$w];
$volle_zellen_erste_woche $w 1;
$leere_zellen_letzte_woche $letzte_woche;


mysql_select_db($SQL_datenbank,$SQL_verbindung);
$resultat mysql_query("SELECT DAYOFMONTH(datum)
as tag FROM kalender WHERE YEAR(datum)= $jahr and MONTH(datum) = $monat"
)or die(mysql_error());
mysql_close($SQL_verbindung);

$tage_aktivitaeten = array();
$zaehler 0;

while (list(
$tag)=mysql_fetch_row($resultat))
  {
  
$tage_aktivitaeten[$zaehler] = $tag;
  
$zaehler++;
  }

$schon_gezaehlte_tage 0;

if (
$w == 0)
   {
   print 
"<tr>";
     for (
$i 0$i 6$i++)
     {
       print 
'<td></td>';
     }
     
$schon_gezaehlte_tage += 1;
     if (
in_array($schon_gezaehlte_tage$tage_aktivitaeten))
       {echo 
'<td class="aktivitaet"><a href="aktivitaeten.php?
       jahr='
.$jahr.'&monat='.$monat.'&tag='.$schon_gezaehlte_tage.'">
       1</href></td>'
;}
     else
       {print 
'<td>1</td>';}
   print 
"</tr>";
   }
elseif (
$w != 0)
   {
   print 
"<tr>";
     for (
$i 0$i $leere_zellen_erste_woche$i++)
       {
       print 
'<td></td>';
       }

     for (
$i 0$i $volle_zellen_erste_woche$i++)
       {
       
$schon_gezaehlte_tage += 1;
       if (
in_array($schon_gezaehlte_tage$tage_aktivitaeten))
         {
           echo 
'<td class="aktivitaet"><a href="aktivitaeten.php?
           jahr='
.$jahr.'&monat='.$monat.'&tag='.$schon_gezaehlte_tage.'">
           '
.$schon_gezaehlte_tage.'</href></td>';
         }
       else
         {
         print 
"<td>$schon_gezaehlte_tage</td>";
         }
      }
   print 
"</tr>";
   }

for (
$i 0$i $wochen$i++)
  {
  print 
"<tr>";

  for (
$d 0$d 7$d++)
    {
    
$schon_gezaehlte_tage += 1;

    if (
in_array($schon_gezaehlte_tage$tage_aktivitaeten))
      {
      echo 
'<td class="aktivitaet"><a href="aktivitaeten.php?
      jahr='
.$jahr.'&monat='.$monat.'&tag='.$schon_gezaehlte_tage.'">
      '
.$schon_gezaehlte_tage.'</href></td>';
      }
    else
      {
      print 
"<td>$schon_gezaehlte_tage</td>";
      }
    }
  print 
"</tr>";
  }

if (
$schon_gezaehlte_tage $t)
     {
     print 
'<tr>';
       while (
$letzte_woche 0)
        {
          
$letzte_tage $t $letzte_woche 1;
          if (
in_array($letzte_tage$tage_aktivitaeten))//hier war ein fehler
            
{
             echo 
'<td class="aktivitaet"><a href="aktivitaeten.php?
      jahr='
.$jahr.'&monat='.$monat.'&tag='.$schon_gezaehlte_tage.'">
      '
.$schon_gezaehlte_tage.'</href></td>';
            }
          else
            {
            print 
"<td>$letzte_tage</td>";
            }
          
$letzte_woche -= 1;
        }

       for (
$i 0$i $leere_zellen_letzte_woche$i++)
        {
          print 
'<td></td>';
        }
     print 
'</tr>';
     }

?>
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
bitte hilfe! mysql fehler meldung: basicx PHP Tipps 2008 2 22.07.2008 16:36
mysql fehler meldung: basicx Datenbanken 1 22.07.2008 09:48
Mysql Syntax Fehler Datenbanken 3 06.07.2006 09:58
Fehler bei Kalender: LC_TIME jensK Datenbanken 4 20.02.2006 23:26
Seite wird nicht angezeigt, untersch. Fehler bei IE/FF/Safar PHP-Fortgeschrittene 19 31.05.2005 14:52
fehler im script oder fehler beim server PHP Tipps 2005 12 21.05.2005 17:04
Blöder MySQL Fehler PHP Tipps 2005 3 15.05.2005 03:14
Fehlermeldung - aber kein fehler... Tschuu HTML, Usability und Barrierefreiheit 16 14.03.2005 15:56
[Erledigt] Wo liegt der fehler?? PHP-Fortgeschrittene 5 22.12.2004 09:54
[Erledigt] mysql fehler PHP Tipps 2004 2 03.11.2004 00:32
Hilfe ich finde den Fehler nicht! PHP Tipps 2004 2 07.10.2004 17:40
finde fehler nicht [in guestbook-script] PHP Tipps 2004 12 22.09.2004 22:23
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
mysql_real_escape_string - Fehler Schaelle Datenbanken 0 03.07.2004 23:32
Paradox, Fehler bei Berechnung in MySQL MrNiceGuy Datenbanken 0 23.06.2004 16:09

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
$tag = array(1,7,6,5,4,3,2); $monat_ohne_erste_woche = $t - $tag[$w]; $letzte_woche = $monat_ohne_erste_woche % 7; $wochen = ($monat_ohne_erste_woche - $letzte_woche) / 7; $leere_zellen_erste_woche = 7 - $tag[$w]; $volle_zellen_erste_woche = 7 - $w 1; $le, $schon_gezaehlte_tage = 1

Alle Zeitangaben in WEZ +1. Es ist jetzt 06:20 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.