$sql=Select A.a,B.b,b,C.c
from A,B,C
group by
A.a, B.b,C.c
order by A.oder_nr,A.a
$row_Sql= mysql_query($sql,$db) or die (mysql_error());
$record_set= mysql_fetch_assoc($row_Sql);
$totalRows_$row_sql=mysql_num_rows($row_Sql);
$A=''
$B=''
while ( $record_set = mysql_fetch_assoc($row_Sql) )
{
if ( $A != $record_set[ 'A' ] )
{
$A = $record_set[ 'A' ];
echo "<h2>$A</h2>";
}
if ( $B!= $record_set[ 'b' ] )
{
$B = $record_set[ 'b' ];
echo "<h3>$B</h3>";
}
echo "<li><a href=\"Detail.php?A_id=".$record_set['A_id']. "\">";
echo $record_set['c'];
echo $record_set['d']; ?></br></a></li>
<?php } ?>
单独使用Sql查询返回完整的结果,但使用它与php代码总是删除第一个结果。查询返回例如1,2,3,4但是php从2,3,4开始。有什么想法吗?
答案 0 :(得分:8)
您在循环之上呼叫$record_set= mysql_fetch_assoc($row_Sql);
一次。这将有效地修剪结果集的第一行。
您似乎也在使用变量变量,不确定这是有意还是错字:
while ( $record_set = mysql_fetch_assoc($$row_Sql) )
// ^---------- variable variables!