0

私は HTML に関しては完全な初心者です。これまで Web ページの処理を行う必要がなかったので、単純な人であれば申し訳ありません。

iOS アプリのハイスコア表があり、アプリの Web サイトにも表示したいと考えています。リーダーボードは、PHP と mySQL を使用してアプリで正常に動作していますが、HTML ファイル内で PHP を使用してデータベースにアクセスしようとすると、PHP のロジックに注意を払っていないようです (つまり、if/ else ステートメントの場合、偶数のケースの両方が実行されます)。

これが私のコードの簡略版です。データベースへの接続が成功した場合、テーブルヘッダーの最初の列は「成功」と表示され、それ以外の場合は「失敗」と表示されます。

<body>

<table class="altrowstable" id="alternatecolor">

<?php
if (!mysql_connect($db_host, $db_user, $db_pwd))
{
    <tr>
    <th>Failure</th><th>Player</th><th>Points</th><th>Played</th><th>Wins</th><th>Draws</th><th>Losses</th>
    </tr>
}
else
{
    <tr>
    <th>Success</th><th>Player</th><th>Points</th><th>Played</th><th>Wins</th><th>Draws</th><th>Losses</th>
    </tr>
}

?>

</table>
</body>

ここで間違って行われたことを誰でも見ることができますか? if/else は通常どおり機能すると想定していましたが、代わりに「失敗」と「成功」の両方の行がテーブルに挿入されます。

編集:エコー ""; も使用してみました。などですが、どちらもPHPを無視する同じエラーが発生するため、どちらの方法が正しいかわかりません。

4

5 に答える 5

5

コードを次のように変更します

    <table class="altrowstable" id="alternatecolor">

    <?php
    if (!mysql_connect($db_host, $db_user, $db_pwd))
    {
?>
        <tr>
        <th>Failure</th><th>Player</th><th>Points</th><th>Played</th><th>Wins</th><th>Draws</th><th>Losses</th>
        </tr>
  <?php
   }
    else
    {
  ?>
        <tr>
        <th>Success</th><th>Player</th><th>Points</th><th>Played</th><th>Wins</th><th>Draws</th><th>Losses</th>
        </tr>
<?php
    }

    ?>

    </table>
于 2012-06-22T11:00:00.953 に答える
4

echoこのようにHTMLタグをコマンドに入れる必要があると思います

echo '<tr>
      <th>Failure</th><th>Player</th><th>Points</th><th>Played</th><th>Wins</th>         <th>Draws</th><th>Losses</th>
      </tr>';

これはうまくいくはずです

于 2012-06-22T11:00:09.707 に答える
1

これを試して:

    <body>

    <table class="altrowstable" id="alternatecolor">

    <?php
    if (!mysql_connect($db_host, $db_user, $db_pwd))
    {
    ?>
        <tr>
        <th>Failure</th><th>Player</th><th>Points</th><th>Played</th><th>Wins</th><th>Draws</th><th>Losses</th>
        </tr>
<?php
    }
    else
    {
?>
        <tr>
        <th>Success</th><th>Player</th><th>Points</th><th>Played</th><th>Wins</th><th>Draws</th><th>Losses</th>
        </tr>
     <?php } ?>

    </table>
    </body>
于 2012-06-22T11:02:29.097 に答える
1

<?phpとの間?>は単なる PHP コードです。HTMLをPHPとして扱っています。

また

  1. 使用するecho
  2. ?>HTML の前後に配置<?php>(つまり、PHP 処理の停止と開始)
于 2012-06-22T11:00:04.170 に答える
1

ファイルの拡張子を確認してください。filename.php である必要があります PHP コードを起動するにはサーバーが必要です ここのように echo heredoc を使用できます

<body>

<table class="altrowstable" id="alternatecolor">

<?php
if (!mysql_connect($db_host, $db_user, $db_pwd))
{
echo <<<_END
<tr>
<th>Failure</th><th>Player</th><th>Points</th><th>Played</th><th>Wins</th><th>Draws</th><th>Losses</th>
</tr>
_END
}
else
{
echo <<<_END
<tr>
<th>Success</th><th>Player</th><th>Points</th><th>Played</th><th>Wins</th><th>Draws</th><th>Losses</th>
</tr>
_END
}
?>
</table>
</body>

それは機能しているようです

于 2012-06-22T11:01:29.920 に答える