[英]PHP Table: I'm trying to create new row for every mysql table rows in my website
[英]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.