-2

html の中で php を実行するたびに、順序に関係なく、php は常に最後に実行されます。例えば; これを実行すると:

<h2>Admin: Events</h2>
<form action="php/admin_event.php" method="post">
Event Name:<input type="text" name="event"><br>
Start Date:<input type="date" name="startdate"><br>
Start Time:<input type="time" name="starttime"><br>
Finish Date:<input type="date" name="finishdate"><br>
Finish Time:<input type="time" name="finishtime"><br>
Venue:<input type="text" name="venue"><br>
<input type="submit" name="submit">
</form>

<table border='1'>
<tr>
<th>Event</th>
<th>Start Time</th>
<th>Start Date</th>
<th>Finish Time</th>
<th>Finish Date</th>
<th>venue</th>
</tr>

<?php

$con = mysqli_connect("localhost","root","","littleathletics");
if(mysqli_connect_errno($con)){
    echo "Failed to connect to MySQL.";
}

$result = mysqli_query($con,"SELECT * from events");

while($row = mysqli_fetch_array($result)){
?>

<tr>
<td><?=$row['Event'];?></td>
<td><?=$row['StartTime'];?></td>
<td><?=$row['StartDate'];?></td>
<td><?=$row['FinishTime'];?></td>
<td><?=$row['FinishDate'];?></td>
<td><?=$row['Venue'];?></td>
</tr>

<?php
}

mysqli_close($con);

?>

<hr>

<h2>Admin: Downloads</h2>
<form action="php/admin_downloadupload.php" method="post" enctype="multipart/form-data">...etc

(たとえば)こんにちはがさようならの前に来たら、私はそれを好む. 私のコードに何か問題がありますか? そうでない場合、意図した結果を達成する方法はありますか?

私が提示しているSQLデータのため、いくつかの部分をphpで書く必要があります。

編集: テーブル全体が html ドキュメントの最後に表示されています。

4

1 に答える 1

0

閉じていない<table>要素があります。最初の PHP コードの前に開始されますが、閉じられることはありません。おそらくここで閉じたいと思うでしょう:

<td><?=$row['Venue'];?></td>
</tr>

<?php
}

mysqli_close($con);

?>
</table> <!-- Add this line -->
<hr>

また、PHP 構成で short-open タグが有効になっていることを確認するか (最近のバージョンではデフォルトで無効になっています)、echo ステートメントの省略形を次のように変更する必要があります。

<?=$row['Event'];?>

に:

<?php echo $row['Event']; ?>

この変更により、コードの移植性が向上します。short-open タグが有効になっているかどうかに関係なく、サーバーで動作します。

于 2013-07-02T02:39:13.967 に答える