2014-03-26 4 views
0

Я только что использовал этот код в проекте, который отлично работает, но я заметил, что первая запись всегда не отображается. Например. SQL-запрос отображает 15 результатов, но на выходе отображается только 14, и отсутствует первая запись. Любые идеи почему?looping recordset PHP

<?php 
$result = mysql_query($sql); 

//first put all the results into an array so we can look backward and see previous items 
$resultSet = array(); 
while($record = mysql_fetch_array($rs2Dfiles)) { 
$resultSet[] = $record; 
} 

for ($i = 0 ; $i < count($resultSet) ; $i++) { 
if ($i == 0) { 
//for the first item, show the category name 
echo '<div class="Box"><div class="BoxHeader gfgreen"><h3>'.$resultSet[$i]['ftCatName'].'</h3> </div>'; 
} else if ($resultSet[$i]['ftCatName'] != $resultSet[$i-1]['ftCatName']) { 
//every time we encounter a new category, display a new line and show the category name 
echo '</div><div class="Box"><div class="BoxHeader gfgreen"><h3>'.$resultSet[$i] ['ftCatName'].'</h3></div>'; 
} 

echo '<p class="Document"><a title="View file details" href="download.php?id='.$resultSet[$i] ['DownloadID'].'">'.$resultSet[$i]['DownloadName'].'</a> ('.formatSize( filesize('DOCS/'.$resultSet[$i]['DownloadFilename'].'')).')</p>'; 
} 
echo '</div>'; 
?> 
+0

Дайте весь код с запросом .....! –

+1

примечание: 'mysql_ *' устарел. Вы должны начать использовать 'mysqli_ *' или 'PDO'. –

ответ

1

Вы могли бы использовать foreach, могли бы сделать вещи проще?

$last = null; 

foreach($resultSet as $resultRow) 
{ 
    if ($resultRow != $last) 
    { 
     echo 'your html content goes here'; 
     echo $resultRow['propertyName']; 
    } 

    $last = $resultRow 
}