2

私はいくつかのコードに取り組んでいて、localhost でテストしました。すべて正常に動作しますが、サーバーにアップロードすると、php タグを超えて動作しません。エラーも表示されていません。私は両方のphpバージョンをチェックしました.localhostではバージョン5.4.7を実行し、サーバーではバージョン5.3.21です. 多分これが問題の原因ですか?phpinfo() で探すべきものはありますか? コードに何か不足していますか? コードは次のとおりです。

    <!DOCTYPE html>
    <?php phpinfo(); ?>
    <html>
    <head>

    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <meta charset="utf-8">

    <style>
     body { background:black;}
    .toggle { display:none; }

    p {  
  width:570px;
  text-align:justify;
  color:#686868;
  font-family:Georgia, serif;
      }

    h2 { color:black; } 

    button { background:#686868; 
     border:none;
     font-family:Georgia, serif;
     width:570px;
   }
    </style>
    </head>

    <body>
    <?php 
    include('sql.php');

    $i = 0;

    while($i < count($rows)) {
    echo "
    <div>
        <button class='trigger'>
    <table width='100%'>
    <tr>
        <td width='20%'><img src='http://localhost/app-side/Icons/bar_icon.png' />             
                  </td>
        <td width='80%'><h2>{$rows[$i]['titel']} </h2></td> 
    </tr>
    </table>

</button>
       <div class='toggle'>
     <p>
       {$rows[$i]['info']}
     </p>   
   </div>
    </div>";


    $i++;
    }?>

    </body>
    <script>

    $('.trigger').click(function() { 

    $(this).siblings('.toggle').slideToggle('fast');

    });

   </script>
   </html>

私がそれを実行すると、黒い背景が表示されますが(想定どおり)、php開始タグを超えるものはすべて切り取られます。また、while ループを強制的に 10 回ループさせようとし、データベースからデータを取得している部分を削除して、それが mysql 関連の問題であるかどうかを確認しました。そうではないと結論付けることができます。

4

3 に答える 3

0

私が推測できる唯一のことは$rows、それが空であるため、次のコードが実行されないことです。

// count($rows) could be equal to 0
while($i < count($rows)) { // this condition becomes false in that case
    echo "
    <div>
        <button class='trigger'>
    <table width='100%'>
    <tr>
        <td width='20%'><img src='http://localhost/app-side/Icons/bar_icon.png' />             
                  </td>
        <td width='80%'><h2>{$rows[$i]['titel']} </h2></td> 
    </tr>
    </table>

</button>
       <div class='toggle'>
     <p>
       {$rows[$i]['info']}
     </p>   
   </div>
    </div>";


    $i++;
    }

アップデート

あなたのコメントに基づいて、内部の何かsql.php、おそらくデータベース接続の問題が原因である可能性があります。error_reporting(E_ALL)ページの一番上に配置してみて、エラーが出力されるかどうかを確認してください。

于 2013-05-04T12:00:12.633 に答える
0

sql.php をチェックして、ライブ サーバー (localhost 変数から変更) に一致するように変更したことを確認しましたか? また、データベース フィールド名とスクリプトのタイプミスを確認しましたか。

[code] 
{$rows[$i]['titel']} </h2></td>
[\code]

読むべきですか:[コード]

{$rows[$i]['title']} </h2></td>

[\code]

データベースのフィールド名が「タイトル」で、「タイトル」というフィールドからデータを取得しようとしている場合、エラーが発生する可能性があります。

それが役立つことを願っています

于 2013-05-04T12:00:22.653 に答える