PHP5对Mysql5的任意数据库表的管理代码示例(三)
2007-07-28 16:22:34 来源:WEB开发网续:点击编辑一个条目会跳转至edit.php
//edit.php
<html>
<head><title>Editing an entry from the database</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body bgcolor=#ffffff>
<h2>Edit an entry</h2>
<?
$database = "sunsite";
$tablename = $_REQUEST['tablename'];
echo "<h2>Data from $tablename</h2>";
MySQL_connect("localhost","root","") or die ("PRoblem connecting to DataBase");
$query = "show columns from $tablename";
$result = mysql_db_query($database,$query);
$column = 0;
if ($result)
{
echo "Found these entries in the database:<br><p></p>";
echo "<table width=90% align=center border=1><tr>";
while ($r = mysql_fetch_array($result))
{
echo "<td align=center bgcolor=#00FFFF>$r[0]</td>";
$colname[$column] = $r[0];
$column = $column + 1;
}
echo "</tr>";
mysql_free_result($result);
$query = "select * from $tablename";
$result = mysql_db_query($database, $query);
if ($result)
while ($r = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td><a href="editing.php?$colname[0]=$r[0]&tablename=$tablename">$r[0]</td>";
for($col=1;$col<$column;$col++) echo "<td>$r[$col]</td>";
echo "</tr>";
}
echo "</table>";
}
else echo "No data.";
mysql_free_result($result);
?>
<a href="tables.php?tablename=<? echo "$tablename"?>">Finish</a>
</body>
</html>
然后选择其中一个id,会跳出具体的内容并要求用户修改。
//editing.php
<html>
<head><title>Editing an entry</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body bgcolor=#ffffff>
<h1>Editing an entry</h1>
<?
$database = "sunsite";
$tablename = $_GET['tablename'];
mysql_connect("localhost","root","") or die ("Problem connecting to DataBase");
$query = "show columns from $tablename";
$result = mysql_db_query($database,$query);
$column = 0;
if ($result)
{
while ($r = mysql_fetch_array($result))
{
$colname[$column] = $r[0];
$column = $column + 1;
}
mysql_free_result($result);
}
$temp = $_GET[$colname[0]];
$query = "select * from $tablename where $colname[0]=$temp";
$result = mysql_db_query($database,$query);
$r = mysql_fetch_array($result);
?>
<form method="post" action="editdb.php">
<table width=90% align=center>
<tr><td><?php echo "$colname[0]";?>:</td><td><?php echo "$r[0]"; ?></td></tr>
<?
for ($col=1;$col<$column;$col++)
echo "<tr><td>$colname[$col]:</td><td><input type=text name=$colname[$col] size="100%" value="$r[$col]"></td></tr>";
?>
<input type=hidden name=id value="<?php echo "$r[0]"; ?>">
<input type=hidden name=tablename value="<?php echo"$tablename";?>">
<tr><td></td><td><input type=submit value="Confirm!"></td></tr>
</table>
</form>
</body>
</html>
最后是写入数据库
//editdb.php
<?
$database = "sunsite";
$tablename = $_POST['tablename'];
mysql_connect("localhost","root","") or die ("Problem connecting to DataBase");
$query = "show columns from $tablename";
$result = mysql_db_query($database,$query);
$column = 0;
if ($result)
{
while ($r = mysql_fetch_array($result))
{
$colname[$column] = $r[0];
$column = $column + 1;
}
mysql_free_result($result);
}
for($col=0;$col<$column;$col++)
$para[$col] = $_POST[$colname[$col]];
if ($_POST['name'])
{
mysql_connect("localhost","root","") or die ("Problem connecting to DataBase");
$query = "update $tablename set $colname[1]='$para[1]'";
for($col=2;$col<$column;$col++)
$query = $query . ",$colname[$col]='$para[$col]'";
$query = $query . " where $colname[0]='$para[0]';";
$result = mysql_db_query($database, $query);
Header("Location: edit.php?tablename=$tablename");
}
else
{
echo "No name Entered. Please go back and reenter name";
}
?>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
待续。
赞助商链接