2016-04-28 8 views
0

私はフォーラムページを作成しています。これは私の最初のPHPプロジェクトです。私はテーブルを接続して値をPHPMYADMINに格納することができましたが、私のメインフォーラムページには表示されませんが、表示される行は増えますが、空の値、空白の値を表示するPHPテーブル

<?php 

include ('includes/session.php'); 
include ('includes/header.php'); 

$host = "localhost"; 
$username = "fses16g6"; 
$password = "fses16g6"; 
$db_name="fses16g6"; // Database name 
$tbl_name="forum_question"; // Table name 
// Connect to server and select databse. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 
$sql="SELECT * FROM $tbl_name ORDER BY id DESC"; 
// OREDER BY id DESC is order result by descending 

$result=mysql_query($sql); 
?> 

<table width="90%" border="0" align="center" cellpadding="3" cellspacing="1"  bgcolor="#FFFFFF"> 
<tr> 
<td width="6%" align="center" bgcolor="#000000"><strong>#</strong></td> 
<td width="53%" align="center" bgcolor="#000000"><strong>Topic</strong></td> 
<td width="15%" align="center" bgcolor="#000000"><strong>Views</strong></td> 
<td width="13%" align="center" bgcolor="#000000"><strong>Replies</strong> </td> 
<td width="13%" align="center" bgcolor="#000000"><strong>Date/Time</strong> </td> 
</tr> 

<?php 

while($rows=mysql_fetch_array($result)){ 
?> 

<tr> 
<td bgcolor="#FFFFFF"><? echo $rows['id']; ?></td> 
<td bgcolor="#FFFFFF"><a href="view_topic.php?id=<? echo $rows['id']; ?>"> <echo $rows['topic']; ?></a><BR></td> 
<td align="center" bgcolor="#FFFFFF"><? echo $rows['view']; ?></td> 
<td align="center" bgcolor="#FFFFFF"><? echo $rows['reply']; ?></td> 
<td align="center" bgcolor="#FFFFFF"><? echo $rows['datetime']; ?></td> 
</tr> 
<?php 
// Exit looping and close connection 
} 

mysql_close(); 
?> 
<tr> 
<td colspan="5" align="right" bgcolor="#black"><a href="create_topic.php"> <strong>Create New Topic</strong> </a></td> 
</tr> 
</table> 
<?php 
//if ($is_user) { 

    //echo 'Welcome to Gamers Paradise' 

//else echo 'You must be logged in to post.' 
      //} 
if ($is_admin) { 
       echo '<button type="button">EDIT</button>'; 
       echo '<button type="button">DELETE</button>'; 
      } 

include ('includes/footer.html'); 
?> 

ここでテーブル

CREATE TABLE `forum_question` 
(`id` int(4) NOT NULL auto_increment,`topic` varchar(255) NOT NULL default'', 

`detail` longtext NOT NULL, 
`name` varchar(65) NOT NULL default '', 
`email` varchar(65) NOT NULL default '', 
`datetime` varchar(25) NOT NULL default '', 
`view` int(4) NOT NULL default '0', 
`reply` int(4) NOT NULL default '0', 
PRIMARY KEY (`id`) 
) TYPE=MyISAM AUTO_INCREMENT=1 ; 
+0

あなたは、クエリが成功したと仮定しています。 '$ res = mysql_query($ sql)またはdie(mysql_error());' –

+3

mysql_fetch_array($ result)の代わりにmysql_fetch_assoc($ result)を試してください。そして、mysql_ *拡張をもう使用しないでください。 'mysqli_ *'や 'PDO' – WillardSolutions

+0

を使って短いタグを賭けてください。 '<?'を '<?php'に変更して動作するか確認してください –

答えて

0

変更は、この行です:

while($rows=mysql_fetch_array($result)){ 

に...

while($rows=mysql_fetch_assoc($result)){ 

あなたは連想として、あなたの結果にアクセスしようとしています配列なので、それらをフェッチする必要があります連想配列としてのデータベースも同様です。

さらに重要なことは、mysql_*機能の使用を中止する必要があることです。彼らは非難され、不安定です。

+1

nope "取り出された行に対応する文字列の配列を返します。それ以上の行がない場合はFALSEを返します。返される配列のタイプはresult_typeの定義方法によって異なります。MYSQL_BOTH(** default **)を使用すると、連想インデックスと数値インデックスの両方を持つ配列を取得してください。 "http://php.net/manual/en/function.mysql-fetch-array.php –

+0

Hmm。私はこれを試しましたが、まだ結果を表示していません。 投稿を追加するたびに、新しい行がインクリメントされて表示されますが、テキストは表示されません。 – RHK

0

Dagonmatt kentと指摘されていますが、私のエコータグではphpの境界が分からないため、値が表示されませんでした。だから、

、代わりに:

<td align="center" bgcolor="#FFFFFF"><?echo $rows['view']; ?></td>

私が必要:

<td align="center" bgcolor="#FFFFFF"><php?echo $rows['view']; ?></td>

をこれは、すべての行でこれを行なったし、彼らが表示されません。

ありがとうございました。

+1

私はそれを1時間前に指摘しました:-) –

+0

@Dagon、申し訳ありません!私はそれが働くように急いでいた、私はあなたが持っていたものを見回した。 – RHK

関連する問題