2012-01-06 5 views
0

は私のデータベースの結果からテーブルを描画するために、次のスクリプトを実行しています:示されているリソースID番号 - PHP&MySQLの

$user =& JFactory::getUser(); 

$currentUser = $user->id; 

$query = "SELECT * FROM jos_modelform_submissions WHERE user_id='".$currentUser."' AND model_type='model1'"; 
$db->setQuery($query); 
$tableResults = $db->query(); 

$formLayout .= $tableResults; 

echo "<div style='overflow:auto;'><table border='1' cellspacing='0' cellpadding='14'> 
<tr bgcolor='#0D7CCD'>"; 
echo "<TD style='text-align:center;color:#FFFFFF;' width='25px'><b>ID</b></TD> 
<TD style='text-align:center;color:#FFFFFF;' width='40px'><b>User ID</b></TD> 
<TD style='text-align:center;color:#FFFFFF;' width='200px'><b>Input</b></TD> 
<TD style='text-align:center;color:#FFFFFF;' width='600px'><b>Output</b></TD> 
<TD style='text-align:center;color:#FFFFFF;' width='110px'><b>Model Type</b></TD> 
<TD style='text-align:center;color:#FFFFFF;' width='100px'><b>Date/Time</b></TD> 
</tr>"; 
echo "<tr><td colspan ='6'><div style='width:1075px;height:300px;overflow:auto;'><table border='1' cellspacing='0' cellpadding='14'>"; 
while ($row = mysql_fetch_array($tableResults)) 
{ 
$mix = array("<", "/>", ">", "/"); 
$output1 = str_replace($mix, "#", $row['output']); 
$output2 = str_replace("#", "<BR/>", $output1); 
echo "<tr onclick=\"alert('Test');\" onmouseover=\"document.body.style.cursor='pointer'\" onmouseout=\"document.body.style.cursor='default'\">"; 
echo "<TD style='text-align:center;' width='25px'>" . $row['id'] . "</td>"; 
echo "<TD style='text-align:center;' width='40px'>" . $row['user_id'] . "</td>"; 
echo "<TD width='200px'>" . $row['input'] . "</td>"; 
echo "<TD width='600px'>" .stripslashes($output2). "</td>"; 
echo "<TD style='text-align:center;' width='110px'>" . $row['model_type'] . "</td>"; 
echo "<TD style='text-align:center;' width='100px'>" . $row['date_time'] . "</td>"; 
echo "</tr>"; 
} 
echo "</table> </div></td></tr></table></div></br></br>"; 

テーブル罰金提示したが、私のページの一番下に私が取得していますリソースID#の出力。どうすればこれを取り除くことができますか?構文やロジックのどこかにエラーがありますか?あなたはコードがここで実行している見ることができます:

http://hanseninfotech.com/rtds/index.php/modelform1

+4

質問を簡略化し、関連するコードのみを含めます。 –

+0

これはすべて関連しています。それはすべて同じスクリプトです。データベースへの呼び出しは最初の部分で行われますが、エラーはフォームが表示された後に表示されます。 – hanleyhansen

+0

どこでエラーを処理しますか?つまり、「die(mysql_error());」という意味です。 – tildy

答えて

2

あなたのコードから$formLayout ?

をエコーでください:

$tableResults = $db->query(); 
$formLayout .= $tableResults; // what does this line do ???? 

クエリ(からの復帰をエコー)ファイルをエコー "リソース###"

の出力になりますハンドル(fopen()から返されます)は同じ結果を生成します

+0

私は$ formLayoutをエコーし​​ません。しかし、彼らはコードの中にいるかもしれません。これはRSFormsと呼ばれる拡張機能の中にあります。フォームレイアウト(lol)を保持する変数であるため、$ formLayoutに連結する必要があります。それはその行がすることです。 – hanleyhansen

+0

それはうまくいきました!しかし、なぜ私は理解していない。私は間違っていたと思います。 – hanleyhansen

1

私は見ての通り、あなたがゼロの要素を持っている場合、あなたはハンドルをdont't。

if (!$tableResults = $db->query()) { 
    echo $db->stderr(); 
    return false; 
    } 

また、以前にJoomlaの関数を使用しましたが、もう一度使用しないでください。 mysql関数を使用する代わりに、$ row = $ db-> loadAssocList();を使用します。そしてforeach。

$row = $db->loadAssocList(); 
foreach ($row as $key=>$value) 
{ 
$mix = array("<", "/>", ">", "/"); 
$output1 = str_replace($mix, "#", $value['output']); 
$output2 = str_replace("#", "<BR/>", $output1); 
echo "<tr onclick=\"alert('Test');\" onmouseover=\"document.body.style.cursor='pointer'\" onmouseout=\"document.body.style.cursor='default'\">"; 
echo "<TD style='text-align:center;' width='25px'>" . $value['id'] . "</td>"; 
echo "<TD style='text-align:center;' width='40px'>" .$value['user_id'] . "</td>"; 
echo "<TD width='200px'>" . $value['input'] . "</td>"; 
echo "<TD width='600px'>" .stripslashes($output2). "</td>"; 
echo "<TD style='text-align:center;' width='110px'>" . $value['model_type'] . "</td>"; 
echo "<TD style='text-align:center;' width='100px'>" . $value['date_time'] . "</td>"; 
echo "</tr>"; 
} 

これは役に立ちます。

また、HTML部分についての私の意見:HTMLをPHPコードに変換することはkhmです...昔のプログラミングスタイルだと思います。上記の例のように、PHPとHTMLを混在させないようにしてください。 HTMLファイル、PHPファイル内のPHPコードでHTMLを使用し、それらを最小限に混合してみてください。 CMSやテンプレートエンジンを使用し、PHPとHTMLコードを分離することをお勧めします。

+0

ありがとう!ちゃんと覚えておきますよ!! – hanleyhansen

0

送信したコードはリソースIDを出力しません。

関連する問題