2016-12-07 11 views
0

私はこのforeachループのループをどのように数えるかを考えようとしています。私はアイテムの合計数を数えたくありません。私はちょうどそれが何回ループするかを数えたいと思う。PHP foreachループでループを数える

私はループの外側で以下を試しましたが、 "0"が表示されます。

$result = count($row); 
echo "$studentEmail | Recipe Count = $result"; 

ループ内で試してみましたが、どちらも機能しません。

$ sqlは次のように作成されます。これは、フォームの提出に組織された11のフィールドのコレクションです。

$sql = "SELECT * FROM recipes where email = '$studentEmail'"; 

アイデア?

foreach ($pdo->query($sql) as $row) { 
      echo '<tr>'; echo '<td>'. $row[1] . '</td>'; 
      echo '<td>'. $row['name'] . '</td>'; 
      echo '<td>'. $row['description'] . '</td>'; 
      echo '<td>'. $row['steps'] . '</td>'; 
      echo '<td>'. $row['ingredientsMain'] . '</td>'; 
      $timePrep = unserialize($row['timePrep']); 

      echo '<td>'. $timePrep[0] . ' minutes, '. $timePrep[1] . ' hours</td>'; 
      $timeCook = unserialize($row['timeCook']); 

      echo '<td>'. $timeCook[0] . ' minutes, '. $timeCook[1] . ' hours</td>'; 
      echo '<td>'. $row['ingredientsAll'] . '</td>'; 
      echo '<td>'. $row['difficulty'] . '</td>'; 
      echo '<td>'. $row['mealDiet'] . '</td>'; 
      echo '<td>'. $row['mealTypeCourse'] . '</td>'; 
      echo '<td>'. $row['photos'] . '</td>'; 
      echo '<td><a class="btn" href="read.php?id='.$row['id'].'">Read</a></td>'; echo '</tr>'; } 

ありがとうございました!

+0

$ i = 0; foreach($ pdo-> query($ sql)$行として){ ++ $ i; – hanshenrik

+2

文字列リテラルを閉じて、最後に '; $ sql ="を追加します。SELECT * FROM recipe from email = '$ studentEmail' "; ' – RiggsFolly

+0

[PDOの行数](http:// stackoverflow。 com/questions/883365/row-count-with-pdo) – HPierce

答えて

1

ループ中に変数を単純にインクリメントすることができます。

$result = 0; 
foreach ($pdo->query($sql) as $row) { 
    // all your echo statements 
    $result++; 
} 
echo "$studentEmail | Recipe Count = $result"; 
+0

ありがとうBarmar!それはまさに私が探していたものです。 –

+1

これはまったく些細で明白なのはなぜですか? – Barmar

+0

私は週末です。私はフルタイムで何かを開発していません。私は周りを混乱させ、私はキーボードをタッチするたびに勉強しています。あなたの助けをもう一度ありがとう! –