让我们看看我的脚本。在我将值赋给变量$ specdata
时,我没有得到任何值$result = mysqli_query($connection, "select * from productrates");
if (mysqli_num_rows($result) > 0)
{
echo "<div class='box-body'>";
$header='';
$rowdata='';
$header='<tr>';
$field= mysqli_fetch_fields($result);
foreach ($field as $val) {
if($val->name !="specs")
{
$header.= "<th style='background:#E1E1E1'>".$val->name."</th>";
}
}
$header.='</tr>';
while ($row = mysqli_fetch_array($result))
{
$field= mysqli_fetch_fields($result);
$rowdata.="<tr class='linehover'>";
// in this section i want to show $specdata values in div id="specs"
foreach ($field as $val)
{
$specdata ='';
if($val->name =="specs")
{
$specdata = $row[1];
echo $specdata;echo "<hr>";
}
if($val->name !="specs")
{
if($val->name == "Product")
{
$rowdata.= "<td class='nohover'>".$row[$val->name]."<div id='specs'>".$specdata."</div></td>";
}
else
{
$rowdata.= "<td>".$row[$val->name]."</td>";
}
}
}
$rowdata.='</tr>';
}
}
mysqli_free_result($result);
echo '<table class="table table-bordered" id="pricelist">'.$header.$rowdata.'</table></div>';
// but every i am getting null value in that div
答案 0 :(得分:0)
让我们把不重要的比特切掉,看看这个
foreach ($field as $val)
{
$specdata ='';
if($val->name =="specs")
{
$specdata = $row[1]; // no clue what $row[1] holds
echo $specdata; echo "<hr>";
}
if($val->name !="specs")
{
echo $specdata; // $specdata = '';
}
}
请记住,每次循环重启时,$specdata
都会被设置为空字符串。所以即使你这次将它设置为$row[1]
,它也会在下一次迭代时成为空字符串。所以if($val->name !="specs")
总会给你一个空字符串。
答案 1 :(得分:0)
您是否检查过'$ val-&gt; name'的值?因为如果它与“规格”不同 它不会传递你的第一个条件:
if($ val-&gt; name ==“specs”)
只是不会填充变量$ specdata
只是为了给你一个提示,建立这个代码可能会更好,例如:
foreach ($field as $val)
{
$specdata = '';
switch ($val->name) {
case "specs":
$specdata = $row[1];
echo $specdata;echo "<hr>";
break;
case "Product":
$rowdata.= "<td class='nohover'>".$row[$val->name]."<div id='specs'>".$specdata."</div></td>";
break;
default:
$rowdata.= "<td>".$row[$val->name]."</td>";
}