-1

データベースからのすべての情報を一覧表示するこのPrinters.phpページを作成しました。そして、シングルプリンターの情報をリストしたテンプレートファイルprinterbymodel.phpがあります。基本的に私が立ち往生しているのは、リストされているプリンターの1つをクリックして、printerbymodel.phpページに移動する方法です。

これが私のページです

PrintFunctions.php

  function getPrinters2() {
$query = mysql_query("SELECT * FROM printers") or die (mysql_error());
if (mysql_num_rows($query) == 0) {
echo "<tr><td colspan=\"3\">No Printers Were Found</td></tr>";
} else {
while($post = mysql_fetch_assoc($query)) {
$bran=$post['Brand'];
$mod=$post['Model'];
$off=$post['Office'];
$loc=$post['Location'];
$ip=$post['IPAddress'];
$mac=$post['MACAddress'];
$Ink=$post['Ink'];
$Stock=$post['Stock'];
$id=$post['id'];
echo "<tr><td>" . $bran . "</td><td>" .  '<a href="/web/printer%202/printer/admin/printerbymodel.php?id='.$post['Model'].'">'.$post['Model'].'</a>' . "</td><td>" . $off . "</td><td>" . $loc . "</td><td>" . $ip . "</td><td>" . $mac. "</td><td>" .  $Ink . "</td><td>" . $Stock . "</td><td><a href=\"delete.php?id=" . $id . "\">Delete</a><br /><a href=\"edit.php?id=" . $id . "\">Edit</a></td></tr>";
}
}
}

Printerbymodel.php

    <?php
mysql_connect("localhost", "root", "") or
    die("Could not connect: " . mysql_error());
mysql_select_db("whc_tech");

$result = mysql_query("SELECT id, Brand, Model, Office, Location, IPAddress, MACAddress, Ink  FROM printers");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {


    $bran = $row['Brand']; 
$mod = $row['Model']; 
    $off = $row['Office']; 
$loc = $row['Location']; 
$ip = $row['IPAddress']; 
$mac = $row['MACAddress']; 
$Ink = $row['Ink']; 
}

mysql_free_result($result);
?>
<html>
    <head>
    <title><?php echo $mod ?></title>
    </head>
    <body>
      <table>
<tr>
<td>Brand</td><td><?php echo $bran; ?></td>
</tr>
<tr>
<td>Model:</td><td><?php echo $mod; ?></td>
</tr>
<tr>
<td>Office:</td><td><?php echo $off; ?></td>
</tr>
<tr>
<td>Location:</td><td><?php echo $loc; ?></td>
</tr>
<tr>
<td>IP Address:</td><td><?php echo $ip; ?></td>
</tr>
<tr>
<td>MAC Address:</td><td><?php echo $mac; ?></td>
</tr>
<tr>
<td>Ink Type:</td><td><?php echo $Ink; ?></td>
</tr>

</table>
    </body>
</html>

Printers.php

 <?php include('includes/PrintFunctions.php');?>

<html>


    <head>

        <title>Printer List</title>
    </head>

    <body bgcolor="f8e2e2">

<style type="text/css">
table.sample {
    border-width: 1px;
    border-spacing: 5px;
    border-style: outset;
    border-color: black;
    border-collapse: separate;
    background-color: rgb(250, 240, 230);

}
table.sample th {
    border-width: 1px;
    padding: 1px;
    border-style: dotted;
    border-color: gray;
    background-color: rgb(255, 250, 250);
    -moz-border-radius: ;
}
table.sample td {
    border-width: 1px;
    padding: 1px;
    border-style: dotted;
    border-color: gray;
    background-color: rgb(255, 250, 250);
    -moz-border-radius: ;
}
</style>

<table class="sample" align="center">
    <thead>
<tr>

            <td><b>Brand</b></td>
            <td><b>Model</b></td>
            <td><b>Office</b></td>
            <td><b>Location</b></td>
            <td><b>IP Address</b></td>
            <td><b>MAC Address</b></td>
            <td><b>Ink Type</b></td>
            <td><b>Ink Stock</b></td>



            <td><b>Action</b></td>
        </tr>

    </thead>
        <tbody>
<?php 
getPrinters2(); 
?>

    </tbody>

</table>





?>


    </body>
</html>

現在、プリンター情報がデータベースに追加されると、それらはprinters.phpにリストされ、モデルは私が立ち往生しているハイパーリンクです。クリックすると、その特定のプリンターのprinterbymodel.phpページに移動し、そのページに情報が表示されます。前もって感謝します。

4

2 に答える 2

0

何を求めているのか100%わかりませんが、特定のモデルを出力するようにprinterbymodel.phpをコーディングする方法を求めているのではないでしょうか。

printers2()で、次のようにハイパーリンクを作成しました。

echo "<tr><td>" . $bran . "</td><td>" .  '<a href="/web/printer%202/printer/admin/printerbymodel.php?id='.$post['Model'].'">'.$post['Model'].'</a>' . "</td><td>" . $off . "</td><td>" . $loc . "</td><td>" . $ip . "</td><td>" . $mac. "</td><td>" .  $Ink . "</td><td>" . $Stock . "</td><td><a href=\"delete.php?id=" . $id . "\">Delete</a><br /><a href=\"edit.php?id=" . $id . "\">Edit</a></td></tr>";

次のように、現在のレコード(モデルではなく)の実際のIDを指すようにidを変更する必要があります。

echo "<tr><td>" . $bran . "</td><td>" .  '<a href="/web/printer%202/printer/admin/printerbymodel.php?id='.$post['id'].'">'.$post['Model'].'</a>' . "</td><td>" . $off . "</td><td>" . $loc . "</td><td>" . $ip . "</td><td>" . $mac. "</td><td>" .  $Ink . "</td><td>" . $Stock . "</td><td><a href=\"delete.php?id=" . $id . "\">Delete</a><br /><a href=\"edit.php?id=" . $id . "\">Edit</a></td></tr>";

$ _POSTと簡単に混同されるため、変数名$postを別の名前に変更する必要があると思います...

このようなことをする必要があります(既存のgetPrinter2()を少し変更します)(検証などは行っていません...)

printerbymodel.php

<?php
$id=$_GET['id']; //Got from hyperlink

getPrintersInfo($id);
function getPrintersInfo($id) {
    $query = mysql_query("SELECT * FROM printers WHERE id=$id") or die (mysql_error());

    if (mysql_num_rows($query) == 0) {
    echo "<tr><td colspan=\"3\">No Printers Were Found</td></tr>";
    } else {


    while($post = mysql_fetch_assoc($query)) {
    $bran=$post['Brand'];
    $mod=$post['Model'];
    $off=$post['Office'];
    $loc=$post['Location'];
    $ip=$post['IPAddress'];
    $mac=$post['MACAddress'];
    $Ink=$post['Ink'];
    $Stock=$post['Stock'];
    $id=$post['id'];

    //Output information about this specific product...
    echo 'id=' . $id . '<br />';
    echo 'Model=' . $mod; 
    //etc...
}
}
}
于 2013-03-25T00:02:29.260 に答える
0

投稿されたprintfunctions.phpの16行目を参照してください。これは、1台のプリンターに関する情報を含むテーブル行をエコーし​​ています。この部分に注目してください。

'<a href="/web/printer%202/printer/admin/printerbymodel.php?id='. $post['Model'].'">'.$post['Model'].'</a>'

(1)id = modelを設定しているので、これは間違っていると思います。この行を変更して、***どこを変更するかを確認してください。

'<a href="/web/printer%202/printer/admin/printerbymodel.php?id='. $post[***'id'].'">'.$post['Model'].'</a>'

(2)これで、次のようなリンクが作成されますprinterbymodel.php?id=1234。でprinterbymodel.php、URLからそのIDを取得する必要があります

if (isset($_GET['id']) $id = $_GET['id'];

(3)次に、dbからレコードをプルします。

$sql = "SELECT * FROM printers WHERE id=$id";

// get the record from your db by committing $sql
// read the result and echo it.   
于 2013-03-25T00:13:52.967 に答える