CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
09.02.2015, 14:38:14
|
Anfänger
|
|
Registriert seit: Feb 2015
Alter: 45
Beiträge: 21
|
|
AW: Nach Eingabe Diagramm auf Webseite einbinden
Hi,
poste mal bitte den ganzen Code der Test_diagramm.php
|
10.02.2015, 07:17:03
|
Anfänger
|
|
Registriert seit: Feb 2015
Alter: 36
Beiträge: 11
|
|
AW: Nach Eingabe Diagramm auf Webseite einbinden
Guten Morgen,
das war der Code vom Beitrag zuvor. Habe die Daten Per Post-Methode an die selbe Datei geschickt. Das Vorgehen ist daraus entstanden, dass ich die Dateien zusammenlegen sollte und erstmal möglichst wenig funktionierende Programmbestandteile verändern wollte.
|
10.02.2015, 10:10:27
|
Anfänger
|
|
Registriert seit: Feb 2015
Alter: 45
Beiträge: 21
|
|
AW: Nach Eingabe Diagramm auf Webseite einbinden
Hi
nimm mal diesen Code hier, aber bitte genau so nehmen und testen.
Der Name der Datei muss Visualisierung_Temp_phplot.php heisen.
PHP-Code:
<?php
//EINGABEN
$Eingabedate = $_POST["Datebeginn"];
$Eingabedate2 =$_POST["Dateende"];
$HZK = $_POST["Heizkreis"];
$Status=$_POST["Status1"];
$Status2=$_POST["Status2"];
$Kanal1= $_POST["xachse"];
$Kanal2= $_POST["yachse1"];
$Kanal3= $_POST["yachse2"];
// Herstellen der MYSQL Datenverbindung
$link = mysql_connect("localhost", "root") or die("Keine Verbindung möglich: " . mysql_error());
mysql_select_db('maschinendatenerfassung') or die("Auswahl der Datenbank fehlgeschlagen" . mysql_error());
//ABFRAGE_MYSQL-Datenbank
$query= "SELECT $Kanal1, $Kanal2,$Kanal3 FROM 10016_temp WHERE Datum BETWEEN '" . $Eingabedate . "' and '" . $Eingabedate2 . "' and Status= '" .$Status. "' and Heizkreis = '" .$HZK. "'" ;
$daten = array();
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());
$f=0;
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
$daten[$f]=$line;
$f++;
}
mysql_close($link);
require_once 'phplot-6.1.0\phplot.php';
if (empty($use_shapes)) $use_shapes = FALSE;
if (empty($plot_type)) $plot_type = 'linepoints';
$legend_text = array($Kanal2, $Kanal3);
$plot = new PHPlot(640, 480);
$plot->SetImageBorderType('plain'); // Improves presentation in the manual
$plot->SetTitle("Mein erster Versuch eines Diagramms\n");
$plot->SetPlotType($plot_type);
$plot->SetDataType('text-data');
$plot->SetDataValues($daten);
$plot->SetPlotAreaWorld(NULL, Null, Null, Null); // Min X-Achse, Min Y-AChse, Max X-AChse, Max Y-Achse
$plot->SetYTickIncrement(0.2); // Abstand der Y-AChse
$plot->SetLegend($legend_text);
$plot->SetXTickPos('none');
$plot->SetDrawXDataLabelLines(True);
$plot->SetLegendUseShapes($use_shapes); // Use color boxes or shapes
$plot->SetPointSizes(12); // Make points bigger for visibility
$plot->SetLineStyles('solid'); // Make all lines solid
$plot->SetLineWidths(2); // Make all lines thicker
$plot->DrawGraph();
?>
<html>
<head>
<meta charset="UTF-8">
<title>Dateneingabe</title>
</head>
<body>
<form action="Visualisierung_Temp_phplot.php" Method="POST">
<table>
<tr>
<td>Möchten Sie Temperaturverläufe aus der Datenbank auslesen?</td>
<tr>
<tr>
<td>Datum-Beginn:</td>
<td><input name="Datebeginn" size="20" value="2015-01-07 13:00:00"></td>
</tr>
<tr>
<td>Datum-Ende:</td>
<td><input name="Dateende" size="20" value="2015-01-07 13:30:00"></td>
</tr>
<tr>
<td>Heizkreis:</td>
<td><input name="Heizkreis" size="10" value="3"></td>
</tr>
<tr>
<td>Status des Heizkreises:</td>
<td><input name="Status1" size="10" value="7"> <input name="Status2" size="10" value="9"><td>
</tr>
<tr>
<td>Kanal x-Achse:</td>
<td><input name="xachse" size="20" value="Datum"></td>
</tr>
<tr>
<td>Status des Heizkreises:</td>
<td><input name="yachse1" size="20" value="Isttemperatur"></td>
</tr>
<tr>
<td>Status des Heizkreises:</td>
<td><input name="yachse2" size="20" value="Solltemperatur"></td>
</tr>
<tr>
<td><input type="submit" value="Absenden"></td>
<?php
If (!empty($plot)){
echo "<tr>";
echo "<td><img src=\"Visualisierung_Temp_phplot.php\" width=\"640\" height=\"480\" alt=\"Nee.\"></td>";
echo "</tr>";
}else{echo "";}
?>
</table>
</form>
</body>
</html>
|
11.02.2015, 11:28:34
|
Anfänger
|
|
Registriert seit: Feb 2015
Alter: 36
Beiträge: 11
|
|
AW: Nach Eingabe Diagramm auf Webseite einbinden
Hallo,
wenn ich deinen Code übernehme bekomm ich eine Fehlermeldung, dass die SQL-Abfrage nicht stimmt. Ich habe den PHP-Teil in eine IF-Schleife gesetzt und dann bekomm ich ein Diagramm angezeigt. Aber als separates Bild mit schwarzem Hintergrund... Das heißt meine Eingabefelder sind weg.
Code:
<?php
If (!empty($_POST)){
//EINGABEN
$Eingabedate = $_POST["Datebeginn"];
$Eingabedate2 =$_POST["Dateende"];
$HZK = $_POST["Heizkreis"];
$Status=$_POST["Status1"];
$Status2=$_POST["Status2"];
$Kanal1= $_POST["xachse"];
$Kanal2= $_POST["yachse1"];
$Kanal3= $_POST["yachse2"];
// Herstellen der MYSQL Datenverbindung
$link = mysql_connect("localhost", "root") or die("Keine Verbindung möglich: " . mysql_error());
mysql_select_db('maschinendatenerfassung') or die("Auswahl der Datenbank fehlgeschlagen" . mysql_error());
//ABFRAGE_MYSQL-Datenbank
$query= "SELECT $Kanal1, $Kanal2,$Kanal3 FROM 10016_temp WHERE Datum BETWEEN '" . $Eingabedate . "' and '" . $Eingabedate2 . "' and Status= '" .$Status. "' and Heizkreis = '" .$HZK. "'" ;
$daten = array();
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());
$f=0;
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
$daten[$f]=$line;
$f++;
}
mysql_close($link);
require_once 'phplot-6.1.0\phplot.php';
if (empty($use_shapes)) $use_shapes = FALSE;
if (empty($plot_type)) $plot_type = 'linepoints';
$legend_text = array($Kanal2, $Kanal3);
$plot = new PHPlot(640, 480);
$plot->SetImageBorderType('plain'); // Improves presentation in the manual
$plot->SetTitle("Mein erster Versuch eines Diagramms\n");
$plot->SetPlotType($plot_type);
$plot->SetDataType('text-data');
$plot->SetDataValues($daten);
$plot->SetPlotAreaWorld(NULL, Null, Null, Null); // Min X-Achse, Min Y-AChse, Max X-AChse, Max Y-Achse
$plot->SetYTickIncrement(0.2); // Abstand der Y-AChse
$plot->SetLegend($legend_text);
$plot->SetXTickPos('none');
$plot->SetDrawXDataLabelLines(True);
$plot->SetLegendUseShapes($use_shapes); // Use color boxes or shapes
$plot->SetPointSizes(12); // Make points bigger for visibility
$plot->SetLineStyles('solid'); // Make all lines solid
$plot->SetLineWidths(2); // Make all lines thicker
$plot->DrawGraph();
}
?>
<html>
<head>
<meta charset="UTF-8">
<title>Dateneingabe</title>
</head>
<body>
<form action="Visualisierung_Temp_phplot.php" Method="POST">
<table>
<tr>
<td>Möchten Sie Temperaturverläufe aus der Datenbank auslesen?</td>
<tr>
<tr>
<td>Datum-Beginn:</td>
<td><input name="Datebeginn" size="20" value="2015-01-07 13:00:00"></td>
</tr>
<tr>
<td>Datum-Ende:</td>
<td><input name="Dateende" size="20" value="2015-01-07 13:10:00"></td>
</tr>
<tr>
<td>Heizkreis:</td>
<td><input name="Heizkreis" size="10" value="3"></td>
</tr>
<tr>
<td>Status des Heizkreises:</td>
<td><input name="Status1" size="10" value="7"> <input name="Status2" size="10" value="9"><td>
</tr>
<tr>
<td>Kanal x-Achse:</td>
<td><input name="xachse" size="20" value="Datum"></td>
</tr>
<tr>
<td>Status des Heizkreises:</td>
<td><input name="yachse1" size="20" value="Isttemperatur"></td>
</tr>
<tr>
<td>Status des Heizkreises:</td>
<td><input name="yachse2" size="20" value="Solltemperatur"></td>
</tr>
<tr>
<td><input type="submit" value="Absenden"></td>
<?php
If (!empty($_POST)){
echo <<<END
<hr>
<p>
<p><img src="Visualisierung_Temp_phplot.php" width="640" height="400"
alt="Account balance graph.">
END;
}else{echo "";}
?>
</table>
</form>
</body>
</html>
|
11.02.2015, 14:57:39
|
Anfänger
|
|
Registriert seit: Feb 2015
Alter: 45
Beiträge: 21
|
|
AW: Nach Eingabe Diagramm auf Webseite einbinden
Hi,
Zitat:
wenn ich deinen Code übernehme bekomm ich eine Fehlermeldung, dass die SQL-Abfrage nicht stimmt.
|
Das hat dann aber nichts mit dem Code zu tun welchen ich Dir gepostet habe. Dann stimmt deine Query nicht! Deine Abfrage kann ich leider nicht prüfen.
Poste mal den Fehler, dann kann ich Dir sagen um was es sich handelt.
Und bitte nicht verwechseln!! IF ist keine Schleife sondern eine Bedingung.
While, for oder foreach ist eine Schleife.
Empty = Die Funktion empty() liefert true zurück, wenn eine Variable (var) nicht definiert, leer oder gleich 0 ist. In allen anderen Fällen wird false als Antwort geliefert.
Nimm bitte nochmal meinen Code und poste mir mal den Fehler, danke.
|
12.02.2015, 07:49:59
|
Anfänger
|
|
Registriert seit: Feb 2015
Alter: 36
Beiträge: 11
|
|
AW: Nach Eingabe Diagramm auf Webseite einbinden
Guten Morgen, anbei dir Fehlermeldung...
Notice: Undefined index: Datebeginn in C:\xampp\htdocs\Datenerfassung\Visualisierung_Temp_phplot.php on line 4
Notice: Undefined index: Dateende in C:\xampp\htdocs\Datenerfassung\Visualisierung_Temp_phplot.php on line 5
Notice: Undefined index: Heizkreis in C:\xampp\htdocs\Datenerfassung\Visualisierung_Temp_phplot.php on line 6
Notice: Undefined index: Status1 in C:\xampp\htdocs\Datenerfassung\Visualisierung_Temp_phplot.php on line 7
Notice: Undefined index: Status2 in C:\xampp\htdocs\Datenerfassung\Visualisierung_Temp_phplot.php on line 8
Notice: Undefined index: xachse in C:\xampp\htdocs\Datenerfassung\Visualisierung_Temp_phplot.php on line 9
Notice: Undefined index: yachse1 in C:\xampp\htdocs\Datenerfassung\Visualisierung_Temp_phplot.php on line 10
Notice: Undefined index: yachse2 in C:\xampp\htdocs\Datenerfassung\Visualisierung_Temp_phplot.php on line 11
Anfrage fehlgeschlagen: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' , FROM 10016_temp WHERE Datum BETWEEN '' and '' and Status= '' and Heizkreis = ' at line 1
____________________________________________________________________
Mit der IF-Bedingung realisiere ich die Post-Abfrage erst, wenn die Variablen definiert sind. Grundsätzlich funktioniert es ja auch...
Danke für deine geduldige Hilfe.
|
12.02.2015, 10:34:18
|
Anfänger
|
|
Registriert seit: Feb 2015
Alter: 45
Beiträge: 21
|
|
AW: Nach Eingabe Diagramm auf Webseite einbinden
Moin,
ich hatte bei meinem Code nur vergessen die IF-Anweisung zu setzen, ansonsten stimmt der Code.
Es liegt an deiner Abfrage nicht am Code.
$query= "SELECT $Kanal1, $Kanal2,$Kanal3 FROM 10016_temp WHERE Datum BETWEEN '" . $Eingabedate . "
versuch mal
$query= "SELECT $Kanal1, $Kanal2,$Kanal3 FROM 10016_temp WHERE Datum BETWEEN $Eingabedate"
|
12.02.2015, 11:01:04
|
Anfänger
|
|
Registriert seit: Feb 2015
Alter: 36
Beiträge: 11
|
|
AW: Nach Eingabe Diagramm auf Webseite einbinden
=> Es entsteht der selbe Fehler...
Wieso sollte es aber an der Abfrage hängen, wenn diese doch funktioniert?
Ich verstehe nicht wie ich in der ersten Zeilen eine Variable abfragen kann, die ich doch erst mit der Post-Methode und dem Klicken auf den Button absende und im Formular definiere?
|
12.02.2015, 11:37:56
|
Anfänger
|
|
Registriert seit: Feb 2015
Alter: 45
Beiträge: 21
|
|
AW: Nach Eingabe Diagramm auf Webseite einbinden
Hi,
bei der Abfrage handelt es sich im eigentlichen Sinn nicht um einen Error sondern nur um eine Notiz also Hinweis.
Er rattert sozusagen die Abfrage durch obwohl POST nichts gesendet hat.
Versuchs mal folgender maßen.
Setz mal in dem FORM unter dem Input senden folgendes.
<td>
<input type="submit" value="Absenden">
<input type="hidden" name="senden" value="senden">
</td>
und statt
If (!empty($_POST)){
setzt Du dann folgendes hin.
$senden = $_POST["senden"];
If($senden == "senden"){deineCode}else{echo "";}
Dann dürfte die Notiz auch nicht mehr kommen!
... und nimm mal bei der Abfrage wieder deine Standard-Abfrage her die immer funktioniert hat.
$query= "SELECT $Kanal1, $Kanal2,$Kanal3 FROM 10016_temp WHERE Datum BETWEEN '" . $Eingabedate . "' and '" . $Eingabedate2 . "' and Status= '" .$Status. "' and Heizkreis = '" .$HZK. "'" ;
|
12.02.2015, 12:56:51
|
Anfänger
|
|
Registriert seit: Feb 2015
Alter: 36
Beiträge: 11
|
|
AW: Nach Eingabe Diagramm auf Webseite einbinden
Egal was ich versuche, auch wenn ich die Post-Methode durch definierte Werte ersetze, am Ende erhalte ich ein Diagramm welches mit schwarzem Hintergrund angezeigt wird und nicht unterhalb der Eingabewerte.
Jetzt mal vom Code weggegangen, wie macht man das sonst (theoretisch)?
Ich möchte Daten eingeben, nach denen die SQL-Datenbank auslesen und anschließend ein Diagramm darstellen. Um das ganze benutzerfreundlich zu realisieren, soll die Eingabe der Suchparameter neben , bzw. über dem DIagramm stehen...
so wie in dem Beispiel:
http://www.dirkuhlemann.de/diagramme....php#quelltext
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 10:08:53 Uhr.
|