簡體   English   中英

如何為顯示SQL表行的PHP / HTML網頁的每一行創建按鈕或超鏈接?

[英]How do I create a button or hyperlink for every row of a PHP/HTML web page that displays rows of a SQL table?

我的Web應用程序使用Linux,Apache,PHP和Postgres。 我有一個Web應用程序,返回SQL表的內容。 用戶必須登錄並輸入有效的SQL表名稱。 如何為返回並顯示在Web UI中的每一行創建一個按鈕? 它必須是動態的,因為返回的行根據用戶輸入的表而有所不同。

最終,我希望用戶通過Web UI更新SQL數據庫中的行。 現在,我希望為返回的每一行顯示一個按鈕。 如果每個單元格都可以使用該按鈕或鏈接(無論該單元格是否為空),那將起作用。 當前返回的行為靜態字母數字文本。 我希望每一行都有一個超鏈接或按鈕。 然后,我可以讓用戶從該鏈接或按鈕轉到新的.php網頁。 該頁面將允許您更新SQL表。

如何在網頁中為返回並顯示在PHP網頁中的每個SQL行創建按鈕或超鏈接?

下面的代碼省略了身份驗證網頁。 這是我被重復調用的網頁代碼,因為它允許用戶鍵入表名並進行查看:

<?php

session_start();

$pa = $_POST["table"];

  $host = $_SESSION['hostv'];
  $port =  $_SESSION['portv'];
  $dbname = $_SESSION['dbv'];
  $credentials = $_SESSION['cv'];
  $comp = $credentials;

   $db = pg_connect( "$host $port $dbname $credentials"  );
   $query = 'select * from ' . $pa . ';';
   $cc = pg_query($query);


showingfunc($cc);

function showingfunc($cc)
{
/* This code below was copied and modified from razorsql.com */
$i = 0;
echo '<html><body><table><tr>';
if ($cc) {
  }
else {
echo  '<td>' . "Failure." . $dbname . '</td>';
}
while ($i < pg_num_fields($cc))
{
        $fieldName = pg_field_name($cc, $i);
        echo '<td>' . $fieldName . '</td>';
        $i = $i + 1;
}
echo '</tr>';
$i = 0;
while ($row = pg_fetch_row($cc))
{


       echo '<tr>';
        $count = count($row);
        $y = 0;
        while ($y < $count)
        {
                $c_row = current($row);
                echo '<td>' . $c_row . '</td>';
                next($row);
                $y = $y + 1;
        }
        echo '</tr>';
        $i = $i + 1;
   }
pg_free_result($cc);

echo '</table></body></html>';


}

?>

<html>
<body>

<form action="repeater.php" method="post">
TableToView: <input type="text" name="table"<br>

        <input type="submit">
</form>

<a href="logout.php">Logout</a>
</body>
</html>

只需添加一個包含您的操作按鈕的單元格。

while ($row = pg_fetch_row($cc))
{
   echo '<tr>';
    $count = count($row);
    $y = 0;
    while ($y < $count)
    {
            $c_row = current($row);
            echo '<td>' . $c_row . '</td>';
            next($row);
            $y = $y + 1;
    }
    //New Code on the line below
    echo '<td><a class="edit" href="[YOURLINK]">Edit</a></td>' //You Probably want to add an ID to your query string here
    echo '</tr>';
    $i = $i + 1;
}   

同樣,以類似的方式在標題中添加一個空單元格。

您只需要在代碼中添加一個td標簽即可...我們剛剛通過標簽的href傳遞了您的記錄ID。 我們只是用簡單的方法替換您的代碼

while ($y < $count)
    {
            $c_row = current($row);
            echo '<td>' . $c_row . '</td>';
            next($row);
            $y = $y + 1;
    }

用。。。來代替 :-

while ($y < $count)
    {
            $c_row = current($row);
            echo '<td>' . $c_row . '</td>';
          echo '<td><a href="new.php?cid='.$c_row.'">Update</a></td>'; 
            next($row);
            $y = $y + 1;
    }

您將通過執行以下操作在另一個頁面上獲得此ID:

$id=$_REQUEST['cid'];

並將其傳遞給您的查詢,這樣您就可以獲得表中將包含的所有信息。 請讓我知道是否有任何問題或不起作用...謝謝

暫無
暫無

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

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