0

別の簡単な質問に戻ります。以下に、データベースから製品名をエコーするこのコードがあります。私がやりたいのは、エコーアウトされた製品名をproduct.phpという別のページへのリンクにすることです。各リンクには一意のIDが必要です。たとえば、

<a href="product.php?id=1">Product Name</a> 

どうすればこれを行うことができますか?どうもありがとう。私はPHPに非常に慣れていないことを指摘します。

<?php
//create an ADO connection and open the database
$conn = new COM("ADODB.Connection");
$conn->open("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\WebData\Northwind.mdb");

//execute an SQL statement and return a recordset
$rs = $conn->execute("SELECT product_name FROM Products");
$num_columns = $rs->Fields->Count();

echo "<table border='1'>"; 
echo "<tr><th>Name</th></tr>";
while (!$rs->EOF) //looping through the recordset (until End Of File)
{
     echo "<tr>";
     for ($i=0; $i <  $num_columns; $i++) {
         echo "<td>" . $rs->Fields($i)->value . "</td>";
     }
     echo "</tr>";
     $rs->MoveNext();
}
echo "</table>";

//close the recordset and the database connection
$rs->close();
$rs = null;
$conn->close();
$conn = null;
?>
4

1 に答える 1

0

Products テーブルに「id」という一意の ID フィールドがあると仮定すると、select を次のように変更します。

$rs = $conn->execute("SELECT id, product_name FROM Products");

リンクを作成する場合は、そのフィールドを使用して URL に渡します。だからあなたは持っているでしょうproduct.php?id=<?= $thatIdField; ?>

コード例:

echo "<table border='1'>"; 
echo "<tr><th>Name</th></tr>";
while (!$rs->EOF) //looping through the recordset (until End Of File)
{
     echo "<tr>";
     for ($i=0; $i <  $num_columns; $i++) {
         echo "<td><a href=\"product.php?id=" . $rs->Fields('id').value . "\">" . $rs->Fields($i)->value . "</a></td>";
     }
     echo "</tr>";
     $rs->MoveNext();
}
echo "</table>";
于 2013-08-07T22:02:18.060 に答える