我在打印桌子时遇到问题。我知道我的SQL查询有效,但我的网站上没有任何内容。我对PHP和SQL有点新意,现在我被卡住了。关于我的代码的任何提示都将非常感谢!
$setidquery = "SELECT
inventory.quantity,
inventory.itemid,
inventory.colorid,
parts.partname,
sets.setid,
inventory.itemtypeid
FROM
inventory
join
parts
on inventory.itemid = parts.partid
join
colors
on inventory.colorid = colors.colorid
join
sets
on inventory.SetID = sets.SetID
where
sets.setid = '$_COOKIE[setid]'
order by
partname asc
limit 1000";
我在这里试图获得正确的图像。
echo "<table class=\"table\">";
echo "<tr><th>Quantity:</th><th>Partname:</th><th>ItemID:</th><th>SetID</th><th>Image:</th></tr>";
while($row = mysqli_fetch_array($result)){
$prefix = "http://www.itn.liu.se/~stegu76/img.bricklink.com/";
$Quantity = $row['Quantity'];
$ItemID = $row['ItemID'];
$ColorID = $row['ColorID'];
$ItemtypeID = $row['ItemtypeID'];
$imagesearch = mysqli_query($conn, "SELECT * FROM `images` WHERE ItemTypeID = '$ItemtypeID' AND ItemID = '$ItemID' AND ColorID = '$ColorID' ");
$imageinfo = mysqli_fetch_array($imagesearch);
if($imageinfo['has_jpg']) {
$filename = "$ItemtypeID/$ColorID/$ItemID.jpg";
} else if($imageinfo['has_gif']) {
$filename = "$ItemtypeID/$ColorID/$ItemID.gif";
} else {
$filename = "noimage_small.png";
}
$SetID = $row['SetID'];
$Partname = $row['Partname'];
echo "<tr>
<td>$Quantity</td>
<td>$Partname</td>
<td>$ItemID</td>
<td>$SetID</td>
<td><img src=\"$prefix$filename\" alt=\"Part $ItemID\"/></td>
</tr>";
}
echo "</table>";
然后打印所有内容。
在网站上看起来像这样:
答案 0 :(得分:5)
在PHP中,变量和数组键区分大小写。
您从SQL获取itemid
并使用ItemID
访问它。
因此,$row['ItemID']
与$item['itemid']
这就是为什么你没有显示图像的原因。
所以,更正以下内容:
$Quantity = $row['Quantity'];
$ItemID = $row['ItemID'];
$ColorID = $row['ColorID'];
要:
$Quantity = $row['quantity'];
$ItemID = $row['itemid'];
$ColorID = $row['colorid'];