Ankündigung

Einklappen
Keine Ankündigung bisher.

Dygraph Annotations

Einklappen

Neue Werbung 2019

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

  • Dygraph Annotations

    Hallo,

    ich will unter Dygraph Annotations setzen, diese sollen in einer Datenbank gespeichert werden.
    Entweder bei den Daten in einer extra Spalte oder einer extra Tabelle.

    unter Dygraph ist es möglich indem man einen Punkt anklickt, dass er eine neue Annotation setzt, leider speichert er diesen nicht.

    1. Wie kann ich annotations in der Datenbank auslesen und darin speichern?
    2. Wie kann ich bei einem Doppelklick auf einen Datenpunkt eine Abfrage nach dem Eintrag stellen (Handeingabe der Daten) und speichern in die Datenbank.

    Kann mir jemand helfen, bin php Anfänger.


  • #2
    Du solltest dich dann erst einmal damit beschäftigen, wie du in PHP eine Verbindung zu einer Datenbank aufbauen kannst:
    http://www.peterkropff.de/site/php/pdo.htm

    Dann solltest du ein paar Theorien zu Thema Ajax verinnerlichen:
    http://blog.teamtreehouse.com/beginn...pment-with-php
    Standards - Best Practices - AwesomePHP - Guideline für WebApps

    Kommentar


    • #3
      Hallo,

      ein bisschen habe ich ja schon,

      http://beescale.pf-control.de/graphneu3.php

      das klappt soweit, ich weiss nur nicht wie ich die Annotations hinbekomme.

      das die in ein Array kommen und danach gespeichert werden, wenn ich die Seite beende.

      Wenn man auf einen Punkt klickt wird auch eine neue Annotation erstellt, diese ist nach erneutem Seitenaufruf nicht mehr da.

      Kommentar


      • #4
        Ja, das kann ich bestätigen und verweise auf Beitrag #2.
        Standards - Best Practices - AwesomePHP - Guideline für WebApps

        Kommentar


        • #5
          Code:
          $annotation_data  = mysql_query("SELECT DATE_FORMAT(xval1,'%Y/%m/%d %H:%i:%s') AS xvaln, DATE_FORMAT(datum,'%H:%i') AS ZEIT, xval1, series1, shortText1, text1
                                  FROM annotations ORDER BY datum DESC LIMIT 1") or die(mysql_error());
          
          
          if(mysql_num_rows($annotation_data) > 0)
          {
            $r_data = mysql_fetch_array($annotation_data);
            $xvaln  = $r_data['xvaln'];
            $series1  = $r_data['series1'];
            $shortText1  = $r_data['shortText1'];
            $text1  = $r_data['text1'];
            
          }
          else
          {
            $E = 1;
            $M = "Es wurden keine Daten in der Datenbank gefunden!";
          }
          
          ?>      
          
                graphdiv2.updateOptions( {
          
                
                    var ann = {
                      series: $series1,
                      xval: $xvaln,
                      shortText: $shortText1,
                      text: $text1
                    };
                    var anns = graphdiv2.annotations();
                    anns.push(ann);
                    graphdiv2.setAnnotations(anns);
          
                  
                
                });


          die Datenbank sieht wie folgt aus.

          CREATE TABLE IF NOT EXISTS `annotations` (
          `id` bigint(11) NOT NULL AUTO_INCREMENT,
          `xval1` datetime NOT NULL COMMENT 'Datenpunkt X (Zeit)',
          `series1` char(25) NOT NULL COMMENT 'Serie',
          `shortText1` char(12) NOT NULL COMMENT 'Kurztext',
          `text1` char(255) NOT NULL COMMENT 'Langtext',
          PRIMARY KEY (`id`)
          )

          Wenn ich diesen Code einfüge kann ich den Graphen nicht mehr sehen.
          Gruß

          Kommentar


          • #6
            Hallo,

            habe es noch einmal überarbeitet, ich ziehe erst den letzten Datensatz heraus, leider wird dieser nicht angezeigt,
            was ist falsch?

            Code:
             <?php   
              $annotation_data  = mysql_query("SELECT DATE_FORMAT(xval,'%Y/%m/%d %H:%i:%s') AS xval1, xval, series, shortText, text
                                    FROM annotations ORDER BY xval DESC LIMIT 1") or die(mysql_error());
              $r_data1 = mysql_fetch_array($annotation_data);
              $xval11  = $r_data1['xval1'];
              $series1  = $r_data1['series'];
              $shortText1  = $r_data1['shortText'];
              $text1  = $r_data1['text'];  
              ?> 
              
              graphdiv2.setAnnotations([			// Annotations
            	    { series: $series1,
                      x: Date.parse($xval11),
                      shortText: $shortText1,
                      text: $text1 },
            
                    ]);

            Kommentar

            Lädt...
            X