while循环获取相同的第一个值

时间:2011-12-07 04:51:43

标签: php

我使用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++;
}

?>

1 个答案:

答案 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++;
}

?>