我正在以两行的形式检索数据库的所有值,并且需要将所有值乘以一个常量。 mysql查询:
$book= "SELECT distinct names, values FROM table1 where address =?"
mysqli_stmt_bind_param($stmm, "s", $usa);
mysqli_stmt_execute($sttm);
$result= mysqli_stmt_get_result($sttm);
$ress = mysqli_fetch_array($result)
在while循环中,我想将所有这些值乘以预定义的变量$ calc: 我现在想做这样的事情:
$i = 1;
while($ress = mysqli_fetch_assoc($result))
{
echo '<tr><td>'.$i.'</td>';
$i += 1;
echo '<td>'.$ress['names'].' </td>';
echo '<td> '.$ress['values']*$calc.'</td>';
}
echo '</tr></table>';
}
请帮忙
答案 0 :(得分:1)
您可能在while
循环中遇到问题。
如果您在foreach
(array)$ress
foreach($ress as $key => $row)
{
echo '<tr><td>'.$key.'</td>';
echo '<td>'.$row['names'].' </td>';
echo '<td> '.($ow['values'] * $calc).'</td>';
}
echo '</tr></table>';
答案 1 :(得分:1)
我认为您没有从数据库中获取数据。您的循环部分也有一些HTML标记匹配问题。我用我的本地数据库尝试了以下代码,循环部分运行良好。
<?php
include '../inc/conn_stackoverflow.php';
$book= $con->prepare("SELECT distinct `date`, cntr FROM counter where id >?");
$usa=0;
$book->bind_param("i", $usa);
mysqli_stmt_execute($book);
$result= mysqli_stmt_get_result($book);
//echo "<pre>";
//var_dump($result);
$calc=100;
echo "<table>";
$i=1;
while($ress = mysqli_fetch_assoc($result))
{
echo '<tr><td>'.$i.'</td>';
$i += 1;
echo '<td>'.$ress['date'].' </td>';
echo '<td> '.((float)$ress['cntr']*(float)$calc).'</td>';
echo '</tr>';
}
echo '</table>';
答案 2 :(得分:1)
有一些原因导致这种情况无效
主要原因是从数据库检索的数据不是int类型,我认为$ ress ['values']返回一个字符串,所以你需要检查它或在乘法之前将其解析为int