1

私の問題は、Oracleの複数のテーブルにリンクしているWebサイトがあることです。現在、変数に割り当てられたユーザー入力をチェックしてテーブル内のデータを検索するPHPコードがあり、次にデータが一致する行を取得するoci_fetch_rowステートメントがあります。これは正常に機能しますが、いくつかの値が同じである場合、テーブルから複数の行を出力する方法を見つけることができませんか?

現在、取得した1行は単純なHTMLテーブルに配置されています。

データが一致するすべての行をフェッチしてテーブルに出力する方法についてのヘルプをいただければ幸いです。

私のコードは次のとおりです。

$userfeedback = "SELECT * FROM ASSET_FEEDBACK WHERE USER_EMAIL = '$userEmail' ORDER BY FEEDBACK_DATE";

$stmt3 = oci_parse($conn, $userfeedback);

if(oci_execute($stmt3))

{


    $row=oci_fetch_row($stmt3) ;

    print"<h2 id='title'>This Users Feedback</h2>";
    "<table border='2'>";

    print"<tr><td><p>Feedback ID:</td><td>$row[0]</td></tr>";
    print"<tr><td>Asset ID:</td><td>$row[1]</td></tr>";
    print"<tr><td>Feedback:</td><td>$row[3]</td></tr>";
    print"<tr><td>Date added:</td><td>$row[4]</td></tr>";

    print"</table></br>";   

}
4

2 に答える 2

1

oci_fetch_rowステートメントをwhileループに入れます。 コードサンプルのOCIFetchArray

print"<h2 id='title'>This Users Feedback</h2>";
print"<table border='2'>";

while ($row=oci_fetch_row($stmt3))
{

    print"<tr><td><p>Feedback ID:</td><td>$row[0]</td></tr>";
    print"<tr><td>Asset ID:</td><td>$row[1]</td></tr>";
    print"<tr><td>Feedback:</td><td>$row[3]</td></tr>";
    print"<tr><td>Date added:</td><td>$row[4]</td></tr>";


}
print"</table></br>"; 
于 2012-04-24T20:34:49.120 に答える
-1

HTMLインデックス:ハイパーリンク参照を使用します:

<a href="http://localhost/yourpath.php?opt=1>Show table</a>

データベースに接続し、テーブルを表示します。

<?php
echo $opt=$_GET['opt'];
$connection=OCILogon("user","password");
if($opt=='1') /*if u have a menu with other html*/
{
$ctab =OCIParse($connection,"SELECT * FROM table");
OCIExecute($ctab)

echo "<table>";
echo "<tr>";
echo "<th>ID</th>; 
....all your table header
echo "</tr>";

while(OCIFetch($ctab))
{ $id = OCIResult($ctab,"ID");
.........
print( "<tr>".
       "<td>$id</td>".
         ........
       "</tr>");
}

elseif($opt='2')  /*if you have a form , to get values and insert into table*/
{ echo $FirVal=$_POST["firval"];
$SecVal=$_POST["secval"];
echo $LastVal=$_POST["lastval"];

$ctab2=OCIParse($connect,"insert into table values($firval , '$secval', $lastval)");
OCIExecute($ctab2);
}
OCIFreeStatement($ctab2);
OCIFreeStatement($ctab);
OCILogOff($connection);
?>

htmlフォームのコード:

<form method="POST" action="http://localhost/phppath.php?opt=2">
Firstval:<input type="text" name="FirVal" size=8><br>
...........
<input type="SUBMIT" value="Add Values">
<input type="Reset" value ="Reset">
</form>
于 2015-12-17T07:03:59.363 に答える