2016-08-12 8 views
-4

データベースから選択している行数を数え、行数が1より大きい場合はForeachループを作成しようとしています。予期しない ')'エラーが発生し続けます。どうしてこれなの?カウントとForeach?

<?php 
    if(isset($_SESSION['login_user'])) { 
     $login_session = $_SESSION['login_user']; 
     echo '<h1>Welcome '. $login_session .'</h1>'; 
    } 

    echo '<table>'; 
    $sql_query = "SELECT * FROM Courses"; 
    $result = mysqli_query($dbconfig, $sql_query); 
    $row = mysqli_fetch_array($result, MYSQLI_ASSOC); 
    $count = mysqli_num_rows($result); 

    if($count > 1) { 
     foreach($result as $row) 
      echo '<tr>'. $row['Title'] .'</tr>'; 
     } 
    } 
    echo '</table>';   
?> 

正確なエラーは次のとおりです。

[12-Aug-2016 09:54:29 Europe/London] PHP Parse error: syntax error, unexpected '}' in /home/etd/public_html/etd/single/courses.php on line 33 
+0

あなたが不足している** {**後** foreachの($行として$結果)これは働いていたが、何も出て書き込みません** –

答えて

0

それは予期しないエラー'}'(中括弧)です。

あなたのforeachループには、中括弧がありません。

<?php 
    if(isset($_SESSION['login_user'])) { 
     $login_session = $_SESSION['login_user']; 
     echo '<h1>Welcome '. $login_session .'</h1>'; 
    } 

    echo '<table>'; 
    $sql_query = "SELECT * FROM Courses"; 
    $result = mysqli_query($dbconfig, $sql_query); 
    $row = mysqli_fetch_array($result, MYSQLI_ASSOC); 
    $count = mysqli_num_rows($result); 

    if($count > 1) { 
     foreach($result as $row) { // this is where the curly bracket opening is missing 
      echo '<tr>'. $row['Title'] .'</tr>'; 
     } 
    } 
    echo '</table>';   
?> 

オープニングがなければ、補完的な中括弧が1つあり、通訳者にあなたに言ったように - それは予想外です。

+0

。 – DWARFORU

+0

データベースにレコードが1つしかない場合がありますか? if文の条件は '$ count> 1'であることに注意してください。これは、データベースに複数のレコードを印刷する必要があることを意味します。 –

+0

データベースには90行あります。 – DWARFORU

0

あなたのforeachの

あなたのコードに開く中かっこ({を)逃している:

if($count > 1) { 
    foreach($result as $row) 
     echo '<tr>'. $row['Title'] .'</tr>'; 
    } 
} 

は次のようになります。

if($count > 1) { 
    foreach($result as $row) { 
     echo '<tr>'. $row['Title'] .'</tr>'; 
    } 
} 

、それが原因であり、予期せぬ}だ理由それが一致するための開きブラケットではありません

0

の行方不明中括弧は、foreach文

<?php 
    if(isset($_SESSION['login_user'])) { 
     $login_session = $_SESSION['login_user']; 
     echo '<h1>Welcome '. $login_session .'</h1>'; 
    } 

    echo '<table>'; 
    $sql_query = "SELECT * FROM Courses"; 
    $result = mysqli_query($dbconfig, $sql_query); 
    $row = mysqli_fetch_array($result, MYSQLI_ASSOC); 
    $count = mysqli_num_rows($result); 

    if($count > 1) { 
     foreach($result as $row) { 
      echo '<tr>'. $row['Title'] .'</tr>'; 
     } 
    } 
    echo '</table>';   
?>