【问题标题】:PHP-how to send data to another php-sql page and recive an chart image on the same pagePHP-如何将数据发送到另一个php-sql页面并在同一页面上接收图表图像
【发布时间】:2017-06-02 17:55:57
【问题描述】:

PHP-如何将数据发送到另一个php-sql页面并在同一页面上接收图表图像

大家好。我有一个问题,我不知道我该如何解决。我有一个主页,我想将一些数据放在输入字段中,这将发送 数据到另一个页面以创建图表。好的。那不是问题。它工作正常,如果我打开第二页。图表 img 已创建。但是,如果我想留在主页上单击按钮并从第二页接收 img,则 img 是空的,我不知道如何实现这一点。

这里是mainpage.php的简短代码

echo "<form action='#' method='post' type='text'>";
echo "Abzufragendes Jahr [JJJJ]:";
echo '<input type="text" name="eingabe_1" value="">';
echo "<input type='submit' name='eingabe_2' value='DB Abfrage'/>";
echo "<input type='submit' name='ausgabe_statistik' value='Charts erstellen' 
formaction='#' formmethod='post'/></br></br></br></br>";
echo "</form>";

//Versuch das Bild zu erzeugen
if(isset($_POST['eingabe_1']) && isset($_POST['ausgabe_statistik'])) {
  echo "<img src='charts/charts_jahr.php'> </br>";
}

第二页包含

include("../../PHP/pChart2.1.4/class/pData.class.php"); 
include("../../PHP/pChart2.1.4/class/pDraw.class.php"); 
include("../../PHP/pChart2.1.4/class/pImage.class.php"); 

include("../../SQL/log-in.php"); 
mysql_select_db(MYSQL_DATENBANK) or die("Auswahl der Datenbank fehlgeschlagen");

for ($a = 1 ; $a <= 365 ; $a++) {
  $kalenderwoche[] = $a;
}
$var = $_POST['eingabe_11'];
$var_jahr = "j" . $var;

$Result = mysql_query("SELECT sum(gewicht) as gewicht_1 FROM $var_jahr group by datum",$db_link);
while($row = mysql_fetch_array($Result))
{
  $gewicht[] = $row["gewicht_1"];
  $fett[] = $row["fett"];
}
//chartpart  
$myData = new pData();
$myData->addPoints($gewicht,"Serie1");
..
.

我考虑了另一种解决方案,将临时变量保存在 sql 中并从中获取 $var_jahr 的值。但我认为这不是解决方案吗?

br 并感谢您的解决方案!

【问题讨论】:

  • 不要使用mysql_* 函数。它们自 v5.5(2013 年 6 月)起已被弃用,自 v7.0(2015 年 12 月)起已被删除。而是将mysqli_*PDO 函数与prepared statementsbound parameters 一起使用。
  • 您的代码容易受到SQL injection 攻击。您应该使用mysqliPDO 准备好的语句和this post 中描述的绑定参数。
  • 你想从客户端做一个异步调用。
  • 感谢信息。我很快就会改变。从来没想过。我是那个场景的新手。 @mkaatman,所以我有印象,这不可能是我想做的。所以我必须在我的 sql 数据库中绑定一个 tmp var 并查询它吗?
  • @ein_noch_mieser_progger 有可能,这是一个ajax请求。您有一个带有表单的渲染 HTML,或者您想要输入数据,您可以立即使用 javascript (d3js) 渲染它,或者您可以对处理数据并发回图像的 PHP 脚本进行 ajax 调用。这两个选项都将避免页面刷新/重定向。

标签: php html image error-handling pchart


【解决方案1】:

我的解决方案:

    if ( isset($_POST['statistik_gewicht']) ) {
            $var22 = $_POST['eingabe_1'];
            mysql_query("update variablen set var1 = $var22 where id = 1");
            mysql_query("update variablen set var_gewicht = 1 where id = 1");
            echo "<div align='center'><img src='charts/charts_jahr.php'></div> </br>";
    }

不太好,但它有效!在

上写一个 tmp var
echo '<td colspan="3">Abzufragendes Jahr [JJJJ]';  echo '<input type="text"     name="eingabe_1" value="">';

【讨论】:

    猜你喜欢
    • 2012-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多