Ankündigung

Einklappen
Keine Ankündigung bisher.

Graph wird nicht erstellt

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

  • Graph wird nicht erstellt

    Hallo,

    ich nutze den Graph "phpgraphlib". Funktioniert auch alles gut.

    Nun habe ich ein Formular gebastelt, mit dem ich das Datum von bis eingrenze.

    Funktioniert auch alles super.

    Der Code steht in Datei intern.php - die generierte Grafik holt es sich aus der Datei graph.php.

    Ich fange die $_POST Einträge ab und schreibe diese in eine Variable. Wenn ich mir das SQL Statement in der GRAPH.PHP ausgeben lasse, ist alles korrekt.

    Leider wird keine Grafik generiert. Wenn ich anstatt der POST Einträge feste Einträge angebe, wird die Grafik erzeugt...

    Ich komme da irgendwie nicht weiter.

    Hier die intern.php
    PHP-Code:
    <?php 
    include ("checkuser.php");
    require_once(
    'classes/tc_calendar.php');
    ?> 
    <html> 
    <head> 
      <title>Interne Seite</title> 
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <link href="calendar.css" rel="stylesheet" type="text/css" />
      <script language="javascript" src="calendar.js"></script>
    </head> 

    <body> 
            
      BenutzerId: <?php echo $_SESSION["user_id"]; ?><br> 
      Nickname: <?php echo $_SESSION["user_nickname"]; ?><br> 
      Name: <?php echo $_SESSION["user_vorname"] . ' ' .   $_SESSION["user_nachname"]; ?><br> 
      
      <hr> 
      <a href="logout.php">Ausloggen</a> <br>
    <?php
    //print_r($_POST);
    if(isset($_POST['date3']))
    {
     
     echo 
    '<img src="graph.php" />';
     
    //include ("graph.php");
     
    }
    else
    {
     
     
    ?>
      
     <form name="calendar_form" method="post" action="<?php echo $_SERVER['PHP_SELF'?>">
            <p><b>Auswahl des Auswertungzeitraums</b></p>
                    <div style="float: left;">
                      <div style="float: left; padding-right: 3px; line-height: 18px;">Von: </div>
                      <div style="float: left;">
    <?php
          $myCalendar 
    = new tc_calendar("date3"truefalse);
          
    $myCalendar->setIcon("./images/iconCalendar.gif");
          
    //$myCalendar->setDate(1, 1, 2010);
          
    $myCalendar->setPath("./");
          
    $myCalendar->setYearInterval(19702020);
          
    //$myCalendar->dateAllow('2009-02-20', "", false);
          
    $myCalendar->writeScript();      
          
    ?>
                      </div>
                    </div>
                    <div style="float: left;">
                      <div style="float: left; padding-left: 3px; padding-right: 3px; line-height: 18px;">Bis: </div>
                      <div style="float: left;">
                        <?php
          $myCalendar 
    = new tc_calendar("date4"truefalse);
          
    $myCalendar->setIcon("./images/iconCalendar.gif");
          
    //$myCalendar->setDate(1, 1, 2010);
          
    $myCalendar->setPath("./");
          
    $myCalendar->setYearInterval(19702020);
          
    //$myCalendar->dateAllow("", '2009-11-03', false);
          
    $myCalendar->writeScript();      
          
    ?>
                      </div>
                    </div>
                    <p>
                       <input type="button" name="button2" id="button2" value="Datum prüfen" onClick="javascript:alert('Date select from '+this.form.date3.value+' to '+this.form.date4.value);">
                    </p>
                    <input type="submit" name="senden" value="Senden">
                  </form> 
     
     
     
     <?
    }
    ?>

    </body> 
    </html>
    Hier die graph.php

    PHP-Code:
    <?php 
    //print_r($_POST);
    Include ("checkuser.php");  
    include (
    "inc.config.php");
    include(
    "phpgraphlib.php");


    $link mysql_connect($host$user$pass)
         or die(
    'Could not connect: ' mysql_error());
         
    mysql_select_db($db) or die('Could not select database!');

    $dataArray=array();
    $date_from $_POST['date3'];
    $date_to $_POST['date4'];

    $test1 '2010-04-01';
    $test2 '2010-04-05';
    //FRAD ORIGINAL $sql="SELECT DATE_FORMAT(date, \"%d.%m.%Y %T\") AS myDate, data from funphp";
    //$sql="SELECT DATE_FORMAT(date, \"%d.%m.%Y %T\") AS myDate, data from funphp WHERE date BETWEEN ' . $_POST['date3'] . ' AND ' . $_POST['date3'] . '";
    // GEHT $sql="SELECT DATE_FORMAT(date, \"%d.%m.%Y %T\") AS myDate, data from funphp WHERE date BETWEEN '2010-04-01 00-00-00' AND '2010-04-05 23:59:59'";
    //$sql="SELECT DATE_FORMAT(date, \"%d.%m.%Y %T\") AS myDate, data from funphp WHERE date BETWEEN $_POST['date3'] AND $_POST['date4']";
    //$sql="SELECT DATE_FORMAT(date, \"%d.%m.%Y %T\") AS myDate, data from funphp WHERE date BETWEEN '$test1' AND '$test2'";
    $sql="SELECT DATE_FORMAT(date, \"%d.%m.%Y %T\") AS myDate, data from funphp WHERE date BETWEEN '$date_from' AND '$date_to'";
    //print_r($sql);

    $result mysql_query($sql) or die('Query failed: ' mysql_error());    

    if(
    $result)
    {
        while(
    $row mysql_fetch_assoc($result))
        
        
        {    
                
    $date=$row["myDate"];
                
    $data=$row["data"];
                            
    //ADD TO ARRAY
                
    $dataArray[$date]=$data;
                
        }
    }
    //print_r($dataArray);
    $graph=new PHPGraphLib(550,450); 
    // Example
    $dataArray2=array("Alex"=>99"Mary"=>98"Joan"=>70"Ed"=>90);
    $graph->addData($dataArray);
    $graph->setTitle("Ein kleines Balkendiagramm für Borni");
    $graph->setGradient("lime""green");
    $graph->setBarOutlineColor("black");
    $graph->setBars(false);
    $graph->setDataPoints(true);
    $graph->setDataPointColor("blue");
    $graph->setLine(true);
    $graph->setLineColor("blue");
    $graph->setXValuesVertical(true);
    $graph->createGraph();

    ?>
    Erkennt ihr da einen Fehler?

    Werden die $_POST nicht richtig übergeben wenn ich lediglich echo '<img src="graph.php" />'; mache? Bei include werden diese übergeben...

    Das ist meine Vermutung. Wie könnte ich die $_POST an die Datei graph.php übergeben?


  • #2
    Wenn im Code, den du als Bild einbindest, ein Fehler gemeldet wird, dann siehst du den so natürlich nicht.

    Ich würde mir das ganze mit Firebug anschauen - da kannst du dir über das Net-Panel den Inhalt, den der Server für einzelne Ressourcen zurückgeliefert hat, direkt anschauen.

    Kommentar

    Lädt...
    X