kalender

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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...

    Kommentar


    • #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

      Kommentar


      • #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

        Kommentar


        • #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 :/

          Kommentar


          • #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...

            Kommentar


            • #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!

              Kommentar

              Lädt...
              X