我正在尝试设置应用程序可用性报告,我有一个包含应用程序名称和数字的数组。我正在浏览列表并找到每个问题的持续时间并将其保存到相应的数组中,然后对其进行计算。我尝试将其打印到 table 上,但没有骰子。我的测试 echo 和 for 循环仍然在那里,我得到了一个应用程序数组打印出来,但在 while 内部,look 没有执行,我无法查明原因。感谢您的帮助,我可以回答相关问题。我将在底部放置一个月/年表单输入,并使用一个提交按钮来调用同一页面。
<?php
$applist = array('default1','default2','default3');
$numofapps = 3;
$i=0;
$downtime;
if($_POST['submitted']==1)
{
$month = $_POST['startmonth'];
}
else {
$month = date("m");
}
echo "<br />";
switch ($month){
case 01:
case 03:
case 05:
case 07:
case 08:
case 10:
case 12:
$totaltime = 31 * 1440;
break;
case 04:
case 06:
case 09:
case 11:
$totaltime = 30 * 1440.0;
break;
case 02:
$year = $_POST['startyear'];
if(($year%4)==0)
{
$totaltime = 29 * 1440.0;
}
else {
$totaltime = 28 * 1440.0;
}
break;
}
echo "<br />";
while($numofapps > $i)
{
$query="Select `duration` from `issuetrack` WHERE `app`='" . $applist[$i] . "'";
$result=mysql_query($query);
while($row = mysql_fetch_array($result))
{
echo $downtime[$i];
echo "TEST downtime <br />";
echo $row[$i];
echo "ETST DURATION <br />";
$downtime[$i]+=$row['duration'];
}
$appavail[$i]=($downtime[$i] / $totaltime) * 100;
$i++;
echo "<br />";
}
$j=0;
echo "<table border ='1'>";
echo "<tr><th>Application Affected</th><th>Application Availability</th>";
while ($numofapps > $j)
{
echo "<tr><td>";
echo $applist[$i];
echo "</td><td>";
echo $appavail[$i];
echo "</td></tr>";
}
echo "</table>";
?>
最佳答案
检查 $result 变量,例如,
if($result)
echo "1";
else
echo mysql_error();
即使你没有任何数据,如果你的查询是正确的,那么它会打印 1,否则它会打印错误(如果有)。
还要检查您的 mysql_connection 以找出您是否已连接到数据库,如下所示:
mysql_connect('localhost','username','password') or die (mysql_error());
关于php mysql 命令不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8222542/