如何从数据库中的数值创建进度条?

我正在尝试从数据库中的数值创建进度条。我在数据库中有两个字段,一个称为“ NEXT_STEP”,另一个称为“ MAX_STEPS”-当NEXT_STEP = MAX_STEPS + 1时,所有步骤均已完成,进度条应已满(100%)。这些步骤将实时发生,并且NEXT_STEP将随着后台进程的进行而增加。希望显示进度的网页会随之更新,因此需要使用AJAX。

为此,我试图从数据库中检索这些数字值,并将它们存储到PHP变量中,以便随后可以计算百分比并显示具有正确百分比的进度条。然后,利用AJAX和时间间隔,我可以重复调用该方法以更新进度条。

因此,我的问题是:

  • 如何从数据库检索字段并将其存储到PHP变量?

  • 我将如何检索多行数据,然后选择相关字段并计算百分比?(我假设有一个while循环,但不能完全确定)

我试图利用oci_define_by_name()将字段存储到PHP变量中。

另外,我尝试使用oci_fetch()和oci_result()来从查询DB时获取的数组中检索相关数据,但没有成功。

$sql='select * from lookout_status order by TIMESTAMP_1 DESC';

     $stid= oci_parse($conn, $sql);

       echo $sql;


       oci_define_by_name($stid, 'NEXT_STEP', $next);

       echo $next;


       oci_execute($stid);

我没有期望值被回显的输出,所以我很迷茫。

感谢您提前提供的任何帮助。



守着一只汪
浏览 161回答 2
2回答

凤凰求蛊

使用oci_define_by_name()定义从DB到PHP变量的值。然后,执行sql查询,并在while循环内利用oci_fetch()检索数据的每一行的值。然后,您可以做任何需要处理的数据。$stid= oci_parse($conn, $sql);&nbsp; &nbsp; &nbsp; &nbsp;echo $sql;&nbsp; &nbsp; &nbsp; &nbsp;echo "<br>";&nbsp; &nbsp; &nbsp; &nbsp;oci_define_by_name($stid, 'NEXT_STEP', $next);&nbsp; &nbsp; &nbsp; &nbsp;oci_define_by_name($stid, 'MAX_STEPS', $max);&nbsp; &nbsp; &nbsp; &nbsp;oci_execute($stid);&nbsp; &nbsp; &nbsp; &nbsp;while (oci_fetch($stid)){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//Some code omitted here...&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$val = round($percent, 0);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;echo $val;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$prog = "<progress value='$val' max='100'></progress>";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;echo $prog;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;echo "<br>";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;echo "<br>";&nbsp; &nbsp; &nbsp; &nbsp;}

哔哔one

您使用PDO类从数据库获取结果集。然后在获取的结果上循环并计算您想要的结果。
打开App,查看更多内容
随时随地看视频慕课网APP