$ query =“SELECT * 从 udowers “;
$mysqlquery = mysql_query($query);
/* IMAGE CREATION */
$lines = mysql_num_rows($mysqlquery);
// Create a image
$im = imagecreate(400, 12 * $lines);
// Set colors
$background = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 255, 0, 0);
/* END IMAGE CREATION */
if($mysqlquery){
while($row = mysql_fetch_assoc($mysqlquery)){
imagestring($im, 3, 5, $height += $lines * 12, $row['udower'], $textcolor);
}
}
else
{
imagestring($im, 3, 5, 5, 'MySQL Error', $textcolor);
}
/* IMAGE CREATION */
// Output the image
header('Content-type: image/png');
// Show the image
imagepng($im);
imagedestroy($im);
/* END IMAGE CREATION */
我试图从表udower
获取列udowers
上的所有名称,但这不起作用。它根本不显示任何内容。你能帮帮我吗?
答案 0 :(得分:4)
在这一行
$lines = count(mysql_fetch_assoc($mysqlquery));
您将指针放在结果的末尾。因此,在while
循环内部,它不会再获取任何结果。
我认为您正在寻找该行返回的行数,因此您应该这样做:
$lines = mysql_num_rows($mysqlquery);
此外,该行始终相同,因为您始终12 * $lines
。您正在创建变量$height = 12 * $lines;
,但您没有使用它。
创建该变量时,应将其分配给0
,如下所示:
$height = 0;
然后,当您将字符串添加到图像时,您应该执行以下操作:
imagestring($im, 3, 5, $height += 12, $row['udower'], $textcolor);
现在您已将高度更改为0
,您还必须调整图像高度:
$im = imagecreate(400, 12 * $lines);