dポイントプレゼントキャンペーン実施中!

PHPの勉強中の初心者です。
PHPに詳しい人に教えてもらいながら以下のPHPを組みました。
内容はlist.cgiというテキストファイルをPHPで出力することです。
一応出力はできたのですが、出力するデータをテーブル内に埋め込みたいと思いますが、
PHPのファイルにどのようにtableタグを埋め込むべきかが分かりません。
(例)1,AAA BBB CCC<br /> DDD を tdのセルに埋め込みたく。
どなかたご教授いただけませんでしょうか?どうぞ、よろしくお願いいたします。

list.cgi
1,AAA BBB CCC<br /> DDD
2,AAA BBB CCC<br /> DDD
3,AAA BBB CCC<br /> DDD

<?php
$datafile = "list.cgi";
//ファイルの読み込み
$fr = fopen ( $datafile, "r" );
$alldata = fread ( $fr, filesize ( $datafile ) );
fclose ( $fr );

$alldata = str_replace ( "\r", "\n", $alldata );
$alldata = str_replace ( "\n\n", "\n", $alldata );
$alldata = explode ( "\n", $alldata );

?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>サンプル</title>

</head>
<body>
<div style="width:240px">

<?php
if($_GET["n"]){
for($i=0;$i<count($alldata);$i++){
$buff=explode(",",$alldata[$i]);
if($buff[0]==$_GET["n"]){
print $buff[1];
print "<br />";
}
}
}
?>

</div>
</body>
</html>

A 回答 (1件)

htmlタグとphpスクリプトを混在させて書いちゃえばいいですよ。


<!--修正ソースココから-->
<div style="width:240px">

<?php
if($_GET["n"]){
?>
<table border="1">
<?php
for($i=0;$i<count($alldata);$i++){
$buff=explode(",",$alldata[$i]);
if($buff[0]==$_GET["n"]){
?>
<tr>
<td><?php print $buff[0]; ?></td>
<td><?php print $buff[1]; ?></td>
</tr>
<?php
}
}
?>
</table>
<?php
}
?>

</div>
<!--修正ソースココまで-->

htmlタグがあってもそれにはさまれるphpスクリプトに条件分岐がある場合には
その制御にしたがって出力されたりされなかったりするという点が注意かも。
上記のソースで言えば
if($_GET["n"]){
?>
<table border="1">←$_GET["n"]がなければ出力されない
<?php

わかりにくかったらすみませんです
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!