Ankündigung

Einklappen
Keine Ankündigung bisher.

Array Noob

Einklappen

Neue Werbung 2019

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

  • Array Noob

    Hi, hab da son PHP skript (PHPlot), was mir ein Diagramm erstellen soll, ganz simpel. Das Diagramm zu erstellen funktioniert auch ganz wunderbar. Die Daten die mittels dieses PHP skripts gezeichnet werden, werden als ein array übergeben. Und nun komm ich nicht mehr weiter:

    Hier mal wie das skript aussieht:
    PHP-Code:
    <?php
    //Include the code
    include("../phplot.php");

    //Define the object
    $graph = new PHPlot;

    //Set some data

    $graph->SetTitle("Bayern München");
    $graph->SetXTitle('Datum');
    $graph->SetYTitle('Euro');


    $example_data = array(
         array(
    '20.11',3),
         array(
    '21.11',5),
         array(
    '22.11',7),
         array(
    '23.11',8),
         array(
    '24.11',2),
         array(
    '25.11',6),
         array(
    '28.11',7)
    );
    //In das $example_data array möchte ich Werte aus der Datenbank speichern. nur wie?



    $graph->SetDataValues($example_data);


    //Draw it
    $graph->DrawGraph();

    ?>


    Ich möchte aus einer Datenbanktabelle, folgendes auslesen:

    Select datum,wert from chart where id=$id

    Also ich will ganz einfach alle datum,werte (where id=$id) in das Array speichern und dann anzeigen lassen. Nun weis ich aber nicht wie das funktioniert, das speichern in das Array. Mein Problem: ich bekomme ja alle Datensätze nacheinander. Wie kann ich das dann als Array in das Array speichern?

    Danke jetzt schon mal!


  • #2
    Mit mysql_fetch_*() kannst du die Ergebnisse in einer while-Schleife in ein Array holen:
    PHP-Code:
    <?php
        $data 
    = array();
        while(
    $row mysql_fetch_assoc($result)) {
            
    $data[] = array($row['datum'], $row['wert']);
        }
    ?>

    Kommentar


    • #3
      PHP-Code:
      <?php
      $example_data 
      = array();
      while (
      $cur mysql_fetch_assoc($sql)) {
        
      $example_data[] = array($cur['datum'], $cur['wert']);
      }
      ?>

      Kommentar


      • #4
        irgendwie habe ich jetzt ne coole fehlermeldung von firefox:
        Die Grafik "http://rocco2.ro.funpic.org/claks/chart.php" kann nicht angezeigt werden, weil sie Fehler enthält.

        Hier mal mein gesamter code:
        PHP-Code:
        <html>
        <head>
        </titel>Chart </title>
        </head>
        <body>



        <?php
        //Include the code

        include ("session.php"); // Datei mit der Datenbank Connection
        $sql="Select datum,wert from chart";
        $res mysql_query($sql) or die(mysql_error()); 

        $example_data = array();
         
        while (
        $cur mysql_fetch_assoc($res)) { 
        echo 
        $cur['datum']."    "$cur['wert'];
        $example_data[] = array($cur['datum'], $cur['wert']); 



        include(
        "phplot.php"); // Ja die grafik Klasse


        //Define the object
        $graph = new PHPlot;

        //Set some data

        $graph->SetTitle("Bayern München");
        $graph->SetXTitle('Datum');
        $graph->SetYTitle('Euro');


        $graph->SetDataValues($example_data);


        //Draw it
        $graph->DrawGraph();

        ?>

        </body>
        </html>

        Kommentar


        • #5
          Ich dachte die Klasse erzeugt eine Grafik? Was hat da dann HTML etc. zu suchen?

          Zitat von socke
          PHP-Code:
          <html>
          <head>
          </titel>Chart </title>
          </head>
          <body>



          <?php
          ...
          echo 
          $cur['datum']."    "$cur['wert'];
          ...
          ?>

          </body>
          </html>

          Kommentar


          • #6
            ja das stimmt sie erzeugt ne grafik, das HTML usw. gehört weck ...

            Aber der fehler ist das Array wo ich die daten aus der Datenbank hole: den das ist nicht richtig:

            PHP-Code:
            <?php
            //Include the code
            include("../phplot.php");

            //Define the object
            $graph = new PHPlot;



            $db=mysql_connect(localhost,user,pass);
            if (
            false==@mysql_select_db(rocco2,$db)) {echo "Datenbankfehler";}


            $sql="Select datum,wert from chart";
            $res mysql_query($sql) or die(mysql_error()); 

            $example_data = array(); 
            while (
            $cur mysql_fetch_assoc($res)) { 
            $example_data[] = array($cur['datum'], $cur['wert']); 


            /*

            //Set some data
            $example_data = array(
                 array('a',3),
                 array('b',5),
                 array('c',7),
                 array('d',8),
                 array('e',2),
                 array('f',6),
                 array('g',7)
            );
            */

            $graph->SetDataValues($example_data);


            //Draw it
            $graph->DrawGraph();

            ?>
            Denn wenn ich das andere nich datenbank werte enthaltene $example_data array benutze funktionierts einwandfrei ....

            Kommentar


            • #7
              Vielleicht gibt es einen mysql_error. Schau Dir mal den Quelltext an (mysql_error() verwenden)... :wink:

              BTW: Auch in mysql_*()-Funktionen darf man Strings verwenden...

              Kommentar


              • #8
                ja in der tat gib es fehler.


                So jetzt habe ich ihn auch behoben:
                man muss es so schreiben: mysql_connect("localhost","user","pass");

                Danke viel mals, jetzt funkts!!

                Kommentar

                Lädt...
                X