2011-03-21 10 views
0

私は、このエラーメッセージが表示されます修正する方法がわからない:私はいじりで作業このコードを取得しようとしてきた

"Parse error: syntax error, unexpected $end in C:\Users\Stacky\Desktop\xampp\htdocs\wweff\stackhelp.php on line 822"

私のコードの1行だけ54行目。

完全なコードはここにあります。 "// ^^^^右上の行54"を見てください。次のコードの一部で

<html> 
<head> 
</head> 
<body> 
    <?php 
     $objConnect = mysql_connect("localhost","root","") or die(mysql_error()); 
     $objDB = mysql_select_db("thegoodhumor"); 
     $strSQL = "SELECT * FROM gallery"; 
     if (!isset($_GET['Page'])) $_GET['Page']='0'; 
     $objQuery = mysql_query($strSQL); 
     $Num_Rows = mysql_num_rows($objQuery); 
     $Per_Page = 16; // Per Page 

     $Page = $_GET["Page"]; 
     if(!$_GET["Page"]) 
     { 
      $Page=1; 
     } 

     $Prev_Page = $Page-1; 
     $Next_Page = $Page+1; 

     $Page_Start = (($Per_Page*$Page)-$Per_Page); 
     if($Num_Rows<=$Per_Page) 
     { 
      $Num_Pages =1; 
     } 
     else if(($Num_Rows % $Per_Page)==0) 
     { 
      $Num_Pages =($Num_Rows/$Per_Page) ; 
     } 
     else 
     { 
      $Num_Pages =($Num_Rows/$Per_Page)+1; 
      $Num_Pages = (int)$Num_Pages; 
     } 

     $strSQL .=" order by GalleryID ASC LIMIT $Page_Start , $Per_Page"; 
     $objQuery = mysql_query($strSQL); 
       $cell = 0; 
       echo '<table border="1" cellpadding="2" cellspacing="1"><tr>'; 
       while($objResult = mysql_fetch_array($objQuery)) 
       { 
        if($cell % 4 == 0) { 
        echo '</tr><tr>'; 
       } 

       if($cell == 2 || $cell == 3) { 
       echo '<td>RESERVED</td>'; 
       } else { 
       echo '<td><img src="https://s3.amazonaws.com/imagetitle/' . 
       $objResult["Picture"];?>" height="190" width="190" /> . .$objResult["GalleryName"].'\</td>'; 
       //^^^^ RIGHT ABOVE IS LINE 54. 
       } 
       $cell++; 
       } 
       echo '</tr></table>'; 
    ?> 
     <?php 
      //DELETED PAGINATION CODE for the sake of simplicity in StackOverflow 
     ?> 
     </body> 
     </html> 
     <?php 
     mysql_close($objConnect); 
     ?> 

答えて

4
 $objResult["Picture"];?>" height="190" width="190" /> . .$objResult["GalleryName"].'\</td>'; 

は、言い換えれば、通訳生のHTMLで、次のすべてを停止するにはPHPインタプリタに指示?>を、含まれています。

height="190"`を入れ、.;?>を変更してみてください、と与え、</td>\を削除:

 $objResult["Picture"] . 'height="190" width="190" />' . 
      $objResult["GalleryName"] . '</td>'; 
+0

あなたのコード@thomasに最適なソリューションです。 +1 Mikel –

+0

すごくいいよ!ありがとうございました! –

0

:以下のコードで

while($objResult = mysql_fetch_array($objQuery)) 
{ 
    if($cell % 4 == 0) { // A { is opened here 
    echo '</tr><tr>'; 
    // Maybe it should be closed here ? 
} 

それはあなたがifに対応{を閉じていないようです。

あなたのコード内


そして、少し下、あなたがそこに所属していないよう}を持っています。このような状況で

if($cell == 2 || $cell == 3) { 
    echo '<td>RESERVED</td>'; 
} else { 
    echo '<td><img src="https://s3.amazonaws.com/imagetitle/' . 
    $objResult["Picture"];?>" height="190" width="190" /> . .$objResult["GalleryName"].'\</td>'; 
    //^^^^ RIGHT ABOVE IS LINE 54. 
} // closing the else 
$cell++; 
} // what is this doing here ? 


一般的なアドバイス:インデントあなたのコードを適切!

これは、あなたがはるかに簡単に;-)
この種の問題をキャッチするためにそしてもちろん、読みあなたのコードが簡単になりますができます。

+0

良いアドバイスは、最初からやってくれました。よく考えてくれてありがとう! –

+0

あなたは大歓迎です:-)楽しんでください! –

1

あなたが持っているPHPを伝えるライン54の途中に ">?" (エコーステートメントの途中で)前処理を停止します。おそらくそれを削除したいと考えています。

+0

うん、それは働いて、ありがとう;) –