2013-10-14 2 views
0

php'sPDOMySql을 사용하여 레코드를 선택하고 표시 할 때 어떻게 한 행을 한 번 인쇄하고 나머지는 반복 할 수 있습니까? 아래 코드에서 $row['parentName']을 한 번만 인쇄하고 다른 모든 행을 반복해야합니다. 효율적인 방법은 무엇입니까? 내가하고있는 방식대로 작동하지 않고 Notice: Undefined variable: row in C:\web\apache\htdocs\index.php on line 227이됩니다.PDO 및 MySql 한 번만 한 행 출력

아직 구현되지 않았기 때문에 전혀 새로운 접근 방식을 사용하지 않아도됩니다.

$stmt = $conn->prepare($sql); 
$stmt->execute($thisArray); 
    $rows = $stmt->rowCount(); 
     if($rows >= 1) { 
      echo '<div>'.$row['parentName'].'</div>'; //Echo only once. 
      while($row = $stmt->fetch()) { 
       echo '<div>'.$row['childName'].'</div>'; 
      } 
     } else { 
      echo 'We could not find anything to display.'; 
     } 

편집 은 내가 fetch 부분에 붙어있어.

+0

을 당신은'$ rows'->'$ 행 = $ stmt->를 rowCount();'하지만'$ row'->'$ 행 [ '을 사용하려고 parentName ']'. while 루프 내에서'echo '

'.$row['parentName'].'
';을 움직일 수 있고 카운터가 0 일 때만 카운터를 사용하여 인쇄 할 수 있습니다. – Sean

답변

1

이 시도 :

$stmt = $conn->prepare($sql); 
$stmt->execute($thisArray); 
if ($stmt->rowCount() >= 1) { 
    $array = $stmt->fetchAll(); 
    echo '<div>', $array[0]['parentName'], '</div>'; 
    foreach ($array as $row) { 
     echo '<div>', $row['childName'], '</div>'; 
    } 
} else { 
    echo 'We could not find anything to display.'; 
}