2013-10-14 60 views
0

當選擇和顯示用php'sPDOMySql記錄,我怎麼能打印一行一次遍歷的休息嗎?在下面的代碼中,我只需要打印$row['parentName']一次,然後遍歷所有其他行。什麼是有效的方法來做到這一點?我這樣做的方式不起作用,我得到Notice: Undefined variable: row in C:\web\apache\htdocs\index.php on line 227PDO和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.'; 
}