PHP5+Mysql5+Apache2已經是目前最受歡迎的網站建置模式了。在對Mysql的表操作的時候如果只使用sql語言對Mysql去操作未免太繁瑣了一點。於是筆者參考網路上的程式碼透過修改寫了一套對各種表格進行新增、刪除、修改記錄的php程式碼。僅供大家參考娛樂。
以下貼出的程式碼在PHP5+Mysql5+Apache2 for WinXp上調試通過。
首先說明一下代碼適用範圍,依照大多數表格的特點,每個表格都有id,所以這些代碼適用於第一列為id的表。至於名稱起什麼無關緊要,重要的是程式碼都是預設按照第一列為primary key來進行操作。其他並無任何限制,本程式碼可以對任意列的表進行操作。缺點:未進行輸入審查。所以輸入記錄時不要空白行也不要輸不符的類型,這個需要與Mysql的建表相配合。
注意:提醒!以上程式碼在copy的時候一定注意在編輯器裡面把每一行程式碼前面的tab去掉,不然php5編譯不過。
而且在每個檔案中$database目前為sunsite,$table為software,這個可以依需要修改。
首先是index.php,主要實作功能為讓使用者輸入表名,然後點選查看按鈕就可以看到表格的內容。也是預設的首頁。
//index.php
<html>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>admin</title>
<body bgcolor=#ffffff>
<h2>Please input the table name</h2>
<form method="post" action="tables.php">
<table width=90% align=center>
<tr>table name: <input type=text name="tablename" size=30 maxlength=30><input type=submit value=show></tr>
</table>
</form>
</body>
</html>
然後是tables.php,功能為顯示出表格的內容。並附有新增刪除和修改的入口。
//tables.php
<html>
<title>current table</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<body bgcolor=#ffffff>
<?
$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>"
$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>"
for($col=0;$col<$column;$col++) echo "<td>$r[$col]</td>"
echo "</tr>"
}
echo "</table>"
}
else echo "No data."
mysql_free_result($result);
if ($column != 0)//($tablename == "software" || $tablename == "techtalk")
echo "<p></p>
<ul>
<li><a href="index.php">Home</a>
<li><a href="add.php?tablename=$tablename">Add a new entry</a>
<li><a href="edit.php?tablename=$tablename">Edit an entry</a>
<li><a href="del.php?tablename=$tablename">Delete an entry</a>
</ul>"
?>
</body>
</html>
待續。