PHP5对Mysql5的任意数据库表的管理代码示例(三)
续:点击编辑一个条目会跳转至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='https://www.haobala.com/bcjs/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='https://www.haobala.com/bcjs/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' />待续。