kalender

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • kalender

    hi

    ich arbeitete momentan an einem kalender in php. bisher funktioniert alles ganz gut.

    alle eingetragenen daten für den ausgewählten monat werden anfangs aus der datenbank gelesen und dann in einem verschachtelten array gespeichert. als index in dem array nimm ich den jeweiligen tag des monats her.. funktioniert alles prima.. bis dann an einem tag mal zwei daten sind..

    wie könnte ich das lösen?

    ich dachte mir, ich könnte die einträge in dem array eventuell durch trennzeichen trennen und dann beim auslesen mit explode() weiterverarbeiten.. aber das ist nicht das wahre glaube ich..

    hier der aufbau des arrays.. könnte ja wichtig sein..

    $daten[$x]["name"]
    $daten[$x]["typ"]
    $daten[$x]["kalender_id"]

    $x entspricht dabei dem jeweiligen tag des monats wie oben beschrieben..

    ich benutze arrays, weil ich dann nicht für jeden tag einen eigenen sql query machen muss.. nur um die frage vorzubeugen

    danke im vorraus
    mfg whizzler

  • #2
    PHP Code:
    $kalender[1][] = array('name' => 'Susi hat Geburtstag',
    'typ' => 'Geburtstag');
    $kalender[1][] = array('name' => 'Um Beförderung betteln',
    'typ' => 'Meeting'); 
    so?

    du hast also ein zweidimensionales array und speicherst darin die einzelnen termine als dritte dimension

    die erste dimension (hier: index 1) wäre der tag des jahres, geht also von 1 bis 365/366, evtl. kannst du hier auch mit nem timestamp arbeiten

    die zweite dimension geht von 0 bis anzahl_einträge_für_diesen_tag - 1 und in der dritten dimension hast du dann die eigentlichen daten
    Ich denke, also bin ich. - Einige sind trotzdem...

    Comment


    • #3
      Hi,

      ich denke man sollte das Array monatlich neu aufbauen.

      würd dann für index[1] bis index[31] nehmen, und dann ne seitenauswahl machen, wobei beim blättern sich das mysql-statemant ändert um das tage_im_monat_sarray aufzubauen.

      wenn man 20000 termine im jahr hat wird das sonst ja riesig.

      gruß GriZZ

      Comment


      • #4
        wenn man 20000 termine im jahr hat wird das sonst ja riesig.
        brauchen ja nicht alle gleichzeitig im array stehen.
        Die Zeit hat ihre Kinder längst gefressen

        Comment


        • #5
          @GriZZ:
          der array wird monatlich aufgebaut

          @mrhappiness:
          hätte ich auch selber drauf kommen können

          ich habe aber noch ein problem beim auslesen..

          ich baue den array folgendermaßen zusammen:
          PHP Code:
          $daten = array();
          while (
          $row mysql_fetch_object($result))
          {        
              
          $datum date("j"$row->datum);
              
          $daten[$datum][]["name"] = $row->name;
              
          $daten[$datum][]["typ"] = $row->typ;
              
          $daten[$datum][]["kalender_id"] = $row->kalender_id;

          so.. der var_dump sieht dann folgendermaßen aus:
          PHP Code:
          array(3) {
            [
          4]=>
            array(
          3) {
              [
          0]=>
              array(
          1) {
                [
          "name"]=>
                
          string(11"Bismarkturm"
              
          }
              [
          1]=>
              array(
          1) {
                [
          "typ"]=>
                
          string(9"sonstiges"
              
          }
              [
          2]=>
              array(
          1) {
                [
          "kalender_id"]=>
                
          string(1"2"
              
          }
            }
            [
          6]=>
            array(
          3) {
              [
          0]=>
              array(
          1) {
                [
          "name"]=>
                
          string(18"Stoffel Geburtstag"
              
          }
              [
          1]=>
              array(
          1) {
                [
          "typ"]=>
                
          string(3"geb"
              
          }
              [
          2]=>
              array(
          1) {
                [
          "kalender_id"]=>
                
          string(1"1"
              
          }
            }
            [
          7]=>
            array(
          3) {
              [
          0]=>
              array(
          1) {
                [
          "name"]=>
                
          string(5"Party"
              
          }
              [
          1]=>
              array(
          1) {
                [
          "typ"]=>
                
          string(5"party"
              
          }
              [
          2]=>
              array(
          1) {
                [
          "kalender_id"]=>
                
          string(1"3"
              
          }
            }

          für das auslesen der einträge pro tag habe ich folgende schleife gemacht:
          PHP Code:
          for ($y=0;$y<count($daten[$x]);$y++)

               
          //blabla

          das problem ist jetzt aber, dass die schleife immer 3 mal durchlaufen wird :/
          count($daten[$x] gibt in jedem fall 3 zurück, weil die anzahl der informationen zu dem datum gezählt werden..

          was mach ich falsch? ich komm einfach nich drauf :/

          Comment


          • #6
            Original geschrieben von WhiZZler
            was mach ich falsch? ich komm einfach nich drauf :/
            vergleiche dein vorgehen mit dem was ich gepostet habe
            Ich denke, also bin ich. - Einige sind trotzdem...

            Comment


            • #7
              ah.. klappt jetzt..

              hatte es gleich so probier wie von mrhappiness gepostet.. da habe ich aber aus versehen ne wichtige variable auskommentiert.. drum ging da gar nix mehr..

              jetzt funktioniert es auf jeden fall

              BIG THX!

              Comment

              Working...
              X