我使用while
循环在行中打印数据库值。查询按预期工作,根据数据库中的总记录获取行。
但是,循环为所有行提取相同的值。如果我有a,b,c,d,e
,则会从所有行中提取a,a,a,a,a
。
我的代码是:
<?php
$sql = mysql_query("
SELECT *
FROM album
WHERE status != 'Delete'
LIMIT {$startpoint} , {$limit}
") or die( mysql_error());
$j = 1;
while($result = mysql_fetch_assoc($sql)) {
?>
<tr <?php if($j % 2 != '0') echo "style='background-color:#DFFFFE'"; else echo "style='background-color:#EDFFFF'"; ?>>
<td><input name="check[]" type="checkbox" value="<?php echo fetch_table_album( $result["aid"], '1', '3' );?>" id="checkbox_<?php echo fetch_table_album( $result["aid"], '1', '3' );?>"></td>
<td class="navigation"><a href="album.php?aid=<?php echo fetch_table_album( $result["aid"], '1', '4' );?>&id=<?php echo fetch_table_album( $result["aid"], '1', '6' );?>"><?php echo fetch_table_album( $result["aid"], '1', '5' );?></a></td>
<td><?php echo fetch_table_album( $result["aid"], '1', '8' );?></td>
<td><?php echo fetch_table_album( $result["aid"], '1', '10' );?></td>
<td style="cursor:pointer;"><?php echo fetch_status_image( fetch_table_song( $result["aid"], '1', '13' ));?></td>
</tr>
<?php
$j++;
}
?>
答案 0 :(得分:-2)
为什么你不使用mysql_fetch_array()
比使用mysql_fetch_assoc()
更简单
<?php
$sql = mysql_query("
SELECT *
FROM album
WHERE status != 'Delete'
LIMIT {$startpoint} , {$limit}
") or die( mysql_error());
$j = 1;
while($result = mysql_fetch_array($sql)) {
?>
<tr <?php if($j % 2 != '0') echo "style='background-color:#DFFFFE'"; else echo "style='background-color:#EDFFFF'"; ?>>
<td><input name="check[]" type="checkbox" value="<?php echo $result["aid"];?>" id="checkbox_<?php echo $result["aid"]);?>"></td>
<td class="navigation"><a href="album.php?aid=<?php echo $result["aid"];?>&id=<?php echo $result["aid"];?>"><?php echo $result["aid"];?></a></td>
<td><?php echo $result["aid"];?></td>
<td><?php echo $result["aid"];?></td>
<td style="cursor:pointer;"><?php echo $result["aid"];?></td>
</tr>
<?php
$j++;
}
?>