2009-12-05 4 views
0

입니다. 일부 mysql 결과를 반복하면서 마지막 행을 제외한 각각에 <span id=bottom></span>을 추가해야합니다. 가장 쉬운 방법은 무엇입니까?루프 된 모든 항목에 코드를 적용하십시오. 마지막 코드는

행을 계산 한 다음 카운터와 if/else 문을 사용해야합니까? 아니면 더 쉬운 방법이 있습니까?

+9

html의 id 필드는 고유해야합니다. 대신 클래스 또는 이름을 고려하십시오. – Hogan

+0

은 javascript 또는 jquery 옵션입니까? –

+0

각각에 html을 추가하면 무엇을 의미합니까? 그들은 한 행에 그냥 가져 왔습니까? 여러 행에 있습니까? 모든 행에 필드를 추가해야합니까? 여러 행이 있고 각각을 래핑해야합니까? 모든 결과를 단일 범위로 묶으시겠습니까? 좀 더 명확히하십시오. – Eineki

답변

0

저는 PHP 전문가는 아니지만 각 행을 배열에 넣을 수 있습니까? 그런 식으로 길이를 알 수 있으며 배열을 반복 할 수 있습니다. 이 같은

4

시도 뭔가 :

$result = mysql_query($sql); 
$list = array(); 
while($row = mysql_fetch_assoc($result)) 
{ 
    $list[] = $row; 
} 
$lastItem = array_pop($list); 
foreach($list as $item) { 
    echo sprintf('<span id="bottom">%s</span>', $item['value']); 
} 
// do something with the last item.. 

하지 매우 짧은,하지만 그 트릭을 할 것입니다.

+0

너의 것이 같기는하지만 내게 먼저 게시 했으므로 내 대답은 지워졌습니다. :디 – jeffff

0
$result = mysql_query($sql); 
$list = array(); 
while($row = mysql_fetch_assoc($result)) 
    $list[] = $row; 

foreach(array_slice($list, 0, -1) as $item) { 
    echo sprintf('<span id="bottom">%s</span>', $item['value']); 
} 
// do something with the last item.. 
0
당신은 사전에 기록을 가져 오는 경우를 인쇄하기 전에 그것을 처리하기 전에 모든 데이터를 복사 피할 수

(또는

$result = mysql_query($sql); 
$num = mysql_num_rows($result); 
for($i = 0; $i < $num-1; $i++) { 
    $element = mysql_fetch_assoc($result); 
    // echo here.. 
} 
$item = mysql_fetch_assoc($result); // fetch last item.. 

행복을 빌며, 파비안를 : 또는 당신은 당신이 무엇을 제안 할 수 다른 방법 : 이전에 가져온 레코드 처리)

foreach($pdo->query('SELECT x FROM foo') as $r) { 
    if (isset($row)) { 
    echo '<span>', $row['x'], '</span>'; 
    } 
    $row = $r; 
} 
if (isset($row)) { 
    echo $row['x']; 
} 
관련 문제