簡體   English   中英

如何在PHP生成的表格的單元格中創建鏈接?

[英]How do I create links in the cells of a PHP generated table?

我有一個從一些PHP代碼生成的表,該表列出了員工的少量重要信息。 我想這樣做,以便可以單擊每一行,或者可以單擊每一行中的至少一個元素,以便將用戶重定向到與被單擊的員工相關的所有信息(從MySQL數據庫中提取)。 我不確定怎么做是最好的方法,但是我願意提出建議。 我想堅持使用PHP和/或JavaScript。 下面是我的表的代碼:

        <table>

            <tr>

                <td id="content_heading" width="25px">ID</td>
                <td id="content_heading" width="150px">Last Name</td>
                <td id="content_heading" width="150px">First Name</td>
                <td id="content_heading" width="75px">SSN</td>

            </tr>

            <?php

                $user = 'user';
                $pass = 'pass';
                $server = 'localhost';

                $link = mysql_connect($server, $user, $pass);

                if (!$link){
                    die('Could not connect to database!' . mysql_error());
                }

                mysql_select_db('mydb', $link);
                $query = "SELECT * FROM employees";
                $result = mysql_query($query);
                mysql_close($link);

                $num = mysql_num_rows($result);                         

                for ($i = 0; $i < $num; $i++){

                    $row = mysql_fetch_array($result);

                    $class = (($i % 2) == 0) ? "table_odd_row" : "table_even_row";

                    echo "<tr class=".$class.">";

                        echo "<td>".$row[id]."</td>";
                        echo "<td>".$row[l_name]."</td>";
                        echo "<td>".$row[f_name]."</td>";
                        echo "<td>".$row[ssn]."</td>";

                    echo "</tr>";

                }

            ?>      

        </table>

編輯

好的,在修改了@DrColossos發布的內容之后,我已經能夠使我的鏈接正常工作,但是現在我在唯一性部分遇到了麻煩。 以下是我現在用來創建表格的代碼:

                        echo "<td><a href=Edit_Employee.php?".$row[id].">".$row[id]."</a></td>";
                        echo "<td><a href=Edit_Employee.php?".$row[id].">".$row[l_name]."</a></td>";
                        echo "<td><a href=Edit_Employee.php?".$row[id].">".$row[f_name]."</a></td>";
                        echo "<td><a href=Edit_Employee.php?".$row[id].">".$row[ssn]."</a></td>";

這使得行的所有元素都超鏈接到Edit_Employee.php?**id** 例如,如果id為1,則超鏈接將為Edit_Employees.php?1 現在,我需要在Edit_Employee.php頁面中執行什么操作來獲取或識別鏈接中的id ,因為該id是唯一的,而這正是我基於MySQL搜索的基礎。

編輯

弄清楚了。 這達到了目的:

$id = $_GET['id'];

我發現像我一樣創建鏈接可以使id成為PHP可以從超鏈接中提取的全局變量。 我在超鏈接指向的頁面中使用了上面的代碼,我能夠得到想要的東西。 不太難,但是如果您不知道它是如何完成的,那將令人沮喪!

您已經可以使用每個員工的“ ID”創建一個唯一的鏈接。

您可以執行以下操作:

 echo "<td><a href="employee.php?id=\"" . $row['id'] . "\">" . $row['id'] . "</td>";

或更可讀

 echo "<td><a href="employee.php?id=\"{$row['id']}\">{$row['id']}</td>";

然后,您可以使用employee.php來顯示其詳細信息(ID將在$ _GET ['id']中,請參見此處 )。 在處理$ _GET ['id']的值之前,請不要忘記檢查它的值,因為它可能包含有害數據(例如SQL-Injection)。

順便說一句,您在表id="content_heading"使用的HTML屬性'id'在網站上應該是唯一的,就像網站注釋一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM