PHP MySQLi 增刪改查

? ? ?最近幾天,我們一直在學習利用MySQLi訪問數據庫并對其中的數據進行操作。今天給大家展現一個完整的例子,我們來制作一個新聞發布系統,利用MySQLi來操作數據庫,實現對新聞的添加、修改、刪除、查詢等基本功能。(以下代碼分為前端顯示和后臺php處理代碼,中間用空行隔開,注意區分)

1、登陸頁面:這由本公司內部人員通過員工號和身份證號才能登陸,代碼如下:

//前端顯示部分

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
</head>

<body>
<h2>管理員登陸</h2>
<form action="dlyz.php" method="post">
<div>用戶名:<input type="text" name="user" value="請輸入您的工號" /></div>
<br />
<div>密&nbsp;&nbsp;碼:<input type="password" name="psd" /></div>
<br />
<input type="submit" value="登錄" />
<input type="submit" value="注冊新用戶" formaction="zhuc.php"/>
</form>
</body>
</html>

//php代碼對提交登陸的信息進行處理

<?php

$user = $_POST["user"];
$psd = $_POST["psd"];


//造對象
$db = new MySQLi("localhost","root","","newssystem");

//判斷是否出錯
!mysqli_connect_error() or die("連接失敗!!");

//寫sql語句

$sql = "select psd from yonghu where user='{$user}'";


//執行SQL語句

$result = $db-> query($sql);
$v = $result->fetch_row();
if($psd==$v[0])
{
header("location:fabuxinwen.php");
}
else
{
echo"您輸入的用戶名或密碼不正確,請重新輸入!!";
}

2、注冊頁面:公司/報社來了新員工,只有注冊后才能登陸

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
</head>

<body>
<h2>歡迎注冊</h2>
<body>

<form action="zhucyz.php"method="post">
<div>用戶名:<input type="text" name="user" value="請輸入您的工號"/></div><br />

<div>密&nbsp;&nbsp;碼:<input type="password" name="psd" /></div><br />

<input type="submit" value="提交" />
</form>

</body>
</html>

?

<?php
$user = $_POST["user"];
$psd = $_POST["psd"];


//造對象
$db = new MySQLi("localhost","root","","newssystem");

//判斷是否出錯
!mysqli_connect_error() or die("連接失敗!!");

//寫sql語句

$sql = "insert into yonghu values('{$user}','{$psd}')";

//執行SQL語句

$result = $db-> query($sql);

if($result)
{
header("location:dl.php");
}
else
{
echo"很抱歉,注冊失敗!!";
}

?

3、登陸進去以后,是發布新聞頁面,點擊提交按鈕進行提交保存到已經建立好的數據庫,點擊查看按鈕進行查看確認

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
</head>

<body>
<div style="width:100%; text-align:center" >
<h2>發布新聞</h2>
<form method="post">
<input type="hidden" name="newsid"/>
<table style="margin:0 auto; text-align:left" >
<tr>
<td >標題:</td><td><input type="text" style="width:400px" name="title" /></td>
</tr>
<tr>
<td >作者:
</td><td><input type="text" style="width:400px" name="Author" /></td>
</tr>
<tr>
<td >來源:</td><td><input type="text" style="width:400px" name="source"/></td>
</tr>
<tr>
<td >內容:</td>
<td><textarea cols="auto" rows="auto" style="width:400px; height:400px" name="content"></textarea></td>
</tr>

</table><br />
<?php
$time = date('y-m-d h:i:s');

echo "<input type=\"hidden\" name=\"time\" value=\"{$time}\"/>";
?>

<input type="submit" value="提交" formaction="tijiao.php"/>

<input type="submit" value="查看" formaction="chakan.php"/>
</form>
</div>
</body>
</html>

?

<?php
$title = $_POST["title"];
$Author = $_POST["Author"];
$source = $_POST["source"];
$content = $_POST["content"];

//造對象
$db = new MySQLi("localhost","root","","newssystem");

//判斷是否出錯
!mysqli_connect_error() or die("添加失敗!!");

//寫sql語句

$sql = "insert into news(title,Author,source,content) values('{$title}','{$Author}','{$source}','{$content}')";


//執行SQL語句

$result = $db-> query($sql);

if($result)
{
header("location:fabuxinwen.php");
}
else
{
echo"很抱歉,添加失敗!!";
}

?

4、查看頁面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
</head>

<body>
<table width="70%" border="1px" cellpadding="0" cellspacing="0" style="text-align:center">
<tr>
<td>編號</td>
<td>標題</td>
<td>作者</td>
<td>來源</td>
<td>日期</td>
<td>刪除</td>
<td>修改</td>

</tr>

<?php
$db=new mysqli("localhost","root","","newssystem");
!mysqli_connect_error() or die("連接錯誤");
$sql="select * from news";
$result=$db->query($sql);
while($attr=$result->fetch_row())
{
echo "
<tr>
<td>{$attr[0]}</td>
<td>{$attr[1]}</td>
<td>{$attr[2]}</td>
<td>{$attr[3]}</td>
<td>{$attr[5]}</td>
<td><a οnclick=\" return confirm('確定刪除')\" href='scchuli.php?newsid={$attr[0]}'>刪除</a></td>
<td><a href='xiugai.php?newsid={$attr[0]}'>修改</a></td>
</tr>
";
}

?>
</table>
</body>
</html>

5、在查看頁面可以進行相關內容的修改和刪除

//修改:在點擊修改按鈕后,會跳轉到修改頁面,此時會顯示出之前已經發布的內容、標題等相關內容

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
</head>

<body>
<?php
$id = $_GET["newsid"];

$db=new mysqli("localhost","root","","newssystem");
!mysqli_connect_error() or die("連接錯誤");
$sql="select * from news where newsid='{$id}'";
$result=$db->query($sql);
$attr=$result->fetch_row();
?>
<div style="width:100%; text-align:center" >
<h2>修改新聞</h2>
<form action="xgchuli.php" method="post">
<input type="hidden" name="newsid" <?php echo "value='{$attr[0]}'";?>/>
<table style="margin:0 auto; text-align:left" >
<tr>
<td >標題:</td><td><input type="text" style="width:400px" name="title" <?php echo "value='{$attr[1]}'";?>/></td>
</tr>
<tr>
<td >作者:
</td><td><input type="text" style="width:400px" name="Author" <?php echo "value='{$attr[2]}'";?>/>
</td>
</tr>
<tr>
<td >來源:</td><td><input type="text" style="width:400px" name="source" <?php echo "value='{$attr[3]}'";?>/>
</td>
</tr>
<tr>
<td >內容:</td>
<td><textarea cols="auto" rows="auto" style="width:400px; height:400px" name="content"><?php echo "{$attr[4]}";?>
</textarea></td>
</tr>

</table><br />
<?php
$time = date('y-m-d h:i:s');

echo "<input type=\"hidden\" name=\"time\" value=\"{$time}\"/>";
?>

<div><a href="chakan.php"><input type="button" title="查看" value="查看" /></a><input type="submit" title="修改" value="修改"/>
</div>

</form>

</body>
</html>

?

<?php

$id=$_POST["newsid"];
$title=$_POST["title"];
$Author=$_POST["Author"];
$source=$_POST["source"];
$content=$_POST["content"];
$time=$_POST["time"];

$db = new MySQLi("localhost","root","","newssystem");

!mysqli_connect_error() or die("連接失敗");

$sql="update news set title='{$title}',Author='{$Author}',source='{$source}',content='{$content}',time='{$time}' where newsid='{$id}' ";

$result=$db->query($sql);
if ($result)
{
header("location:chakan.php");
}
else
{
echo "修改失敗";
}

?

//刪除:如果要刪除一條新聞,在點擊刪除按鈕之后,不會跳轉到任何前臺顯示頁面,只會在后臺通過php代碼進行相關處理

<?php
$id=$_GET["newsid"];

$db=new mysqli("localhost","root","","newssystem");

!mysqli_connect_error() or die("連接失敗");

$sql="delete from news where newsid='{$id}'";

$result=$db->query($sql);

if ($result)
{
header("location:chakan.php");
}
else
{
echo "刪除失敗";
}

6、修改完成之后,點擊頁面下方的修改按鈕進行提交,在這里也不會有相關的前端顯示頁面,只是在后臺利用相關php代碼進行相應處理,成功后返回發布新聞頁面

<?php
$title = $_POST["title"];
$Author = $_POST["Author"];
$source = $_POST["source"];
$content = $_POST["content"];

//造對象
$db = new MySQLi("localhost","root","","newssystem");

//判斷是否出錯
!mysqli_connect_error() or die("添加失敗!!");

//寫sql語句

$sql = "insert into news(title,Author,source,content) values('{$title}','{$Author}','{$source}','{$content}')";


//執行SQL語句

$result = $db-> query($sql);

if($result)
{
header("location:fabuxinwen.php");
}
else
{
echo"很抱歉,添加失敗!!";
}

?

轉載于:https://www.cnblogs.com/sdzbxfcy/p/5596936.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/372784.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372784.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372784.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

20162303《程序設計與數據結構》第一周學習總結

學號 2016-2017-2 《程序設計與數據結構》第1周學習總結 教材學習內容總結 本周學習了基本的JAVA知識&#xff0c;雖然比較基礎&#xff0c;但是在實際過程中還是出現了許許多多的問題&#xff0c;代碼一遍遍的敲錯&#xff0c;又一遍遍的修改&#xff0c;剛開始甚至不會切換模…

Java EE與NoSQL的未來

自一段時間以來&#xff0c;我一直在關注NoSQL的近期發展勢頭&#xff0c;似乎這個流行語也引起了企業Java界的某種關注。 即EclipseLink 2.4開始支持MongoDB和Oracle NoSQL 。 將EclipseLink作為JPA參考實現&#xff0c;您可能想知道這對Java EE 7意味著什么。這里簡短說明&am…

【C/C++開發】C語言實現函數可變參數

函數原型: int printf(const char *format[,argument]...) 返 回 值: 成功則返回實際輸出的字符數&#xff0c;失敗返回-1. 函數說明: 在printf()函數中&#xff0c;format后面的參數個數不確定&#xff0c;且類型也不確定&#xff0c;這些參數都存放在棧內.調用…

java postgresql json_java – 將PostgreSQL JSON列映射到Hibernate值類...

See PgJDBC bug #265.PostgreSQL對數據類型轉換過于嚴格,非常嚴格.它不會隱式地將文本轉換為類似文本的值,例如xml和json.解決此問題的嚴格正確方法是編寫使用JDBC setObject方法的自定義Hibernate映射類型.這可能有點麻煩,所以你可能只想通過創建一個較弱的強制轉換來使Postgr…

面向接口編程詳解(三)——模式研究

通過前面兩篇&#xff0c;我想各位朋友對“面向接口編程”的思想有了一定認識&#xff0c;并通過第二篇的例子&#xff0c;獲得了一定的直觀印象。但是&#xff0c;第二篇中的例子旨在展示面向接口編程的實現方法&#xff0c;比較簡單&#xff0c;不能體現出面向接口編程的優勢…

錯誤學習:Java + OSGi

最近&#xff0c;我致力于在OSGi環境中使Apache Hive工作。 雖然沒有被證明是小菜一碟&#xff08;軟件對嗎&#xff1f;。。為什么我不感到驚訝&#xff1f; &#xff09;&#xff0c;它引導我解決了各種Java和OSGi錯誤。 在這里&#xff0c;我列出了其中一些讓我有些吃力的東…

iOS多Targets管理

序言&#xff1a; 個人不善于寫東西&#xff0c;就直奔主題了。 其實今天會注意到多targets這個東西&#xff0c;是因為在學習一個第三方庫FBMemoryProfiler的時候&#xff0c;用到了&#xff0c;所以就搜索了一些相關資料&#xff0c;就在這里記錄一下。 可能每個人都會遇到這…

優化的34條定律

1.Minimize HTTP Requests 減少HTTP請求 圖片、css、script、flash等等這些都會增加http請求數&#xff0c;減少這些元素的數量就能減少響應時間。把多個JS、CSS在可能的情況下寫進一個文件&#xff0c;頁面里直接寫入圖片也是不好的做法&#xff0c;應該寫進CSS里&#xff0c;…

休眠提示:排序和排序

讓我們介紹另一個休眠性能提示。 你還記得以前的休眠的模式后 &#xff1f; 我們有一個與一對多協會有關的星際飛船和軍官。 Entity public class Starship {Id GeneratedValue(strategyGenerationType.SEQUENCE) private Long id;public Long getId() {return id;}protected v…

java 基本類型 線程安全_java的基本類型和i++線程安全性的深入解析

在java中&#xff0c;除了long和double的8個字節、64位比特的變量外&#xff0c;其他的基本變量都是原子性的。java存儲模型要求獲取和存儲操作都為原子性&#xff0c;但是對于非volatile的long和double變量&#xff0c;jvm允許將64位的讀或寫劃分為兩個32位的操作。如果讀和寫…

MySQL配置文件mysql.ini參數詳解

my.ini&#xff08;Linux系統下是my.cnf&#xff09;&#xff0c;當mysql服務器啟動時它會讀取這個文件&#xff0c;設置相關的運行環境參數。 my.ini分為兩塊&#xff1a;Client Section和Server Section。 Client Section用來配置MySQL客戶端參數。 要查看配置參數可以用下面…

微信公眾平臺和微信開放平臺的區別

自己也剛開始做微信開發&#xff0c;先寫寫自己的認識&#xff1a; 用微信公眾平臺可以做手機端H5頁面的微信登錄&#xff0c;微信支付 用微信開放平臺可以做PC端網頁的微信登錄。 轉載于:https://www.cnblogs.com/mafeng/p/5610770.html

java 傳遞bean_如何將bean作為參數傳遞給JSP標記?

我ve created a custom JSP tag that is supposed to accept a list of products to render, but I我無法弄清楚如何將列表傳遞給標簽 . 產品列表作為頁面范圍的bean存在 . Web應用程序使用Struts taglib在Struts 1.2.x中編寫 .這是我的代碼的簡化版本&#xff1a;renderProduc…

Business Component(BC)和Business Object(BO)

Siebel應用架構的一個成功的地方就是在應用里引入了BC&#xff0c;BO的概念&#xff0c;從而使得幾千張關系數據表能夠按照業務的含義組織成業務對象&#xff0c;對于業務人員而言具有了業務上的含義&#xff0c;而不僅僅是從技術人員的觀點來對待數據&#xff08;就是關系表而…

NetBeans可用性提示

的Java IDE都來了&#xff0c;因為在很長的路要走天的JBuilder的 &#xff08;盡管JBuilder中似乎是一個值得歡迎提前在時間&#xff09;。 當今的Java IDE&#xff08;例如NetBeans &#xff0c; Eclipse &#xff0c; IntelliJ IDEA和JDeveloper &#xff09;是非常先進的工具…

一個JVM進程啟動后里面有幾個線程

在寫Java程序時&#xff0c;通常我們管只有一個main函數&#xff08;而沒有別的Thread或Runnable的程序&#xff09;叫單線程程序。但是我們寫的這個所謂的單線程程序只是JVM這個程序中的一個線程&#xff0c;JVM本身是一個多線程的程序&#xff0c;至少得有一個垃圾收集器線程…

WPF 反編譯后錯誤處理

1. 首先&#xff0c;手動創建一個WPF工程&#xff08;WpfApplicationReflectorDemo&#xff09; 2. 把生成的WpfApplicationReflectorDemo.exe 拖到ILSpy里 3.點擊 File -> Save Code...: 相應的代碼會生成到指定地方。 4. 打開應用程序&#xff0c;并且編譯它&#xff0c;此…

JavaFX 2 GameTutorial第1部分

介紹 我相信大多數軟件開發人員可能會在年輕人&#xff08;年輕人&#xff09;一生中的某一時刻被迫創建游戲來幫助他們學習編程語言&#xff08;我知道我確實做到了&#xff09;。 以前&#xff0c;我的第一臺計算機實際上是Franklin Ace 1000 &#xff0c;后來是Apple [] 。 …

虛擬現實-VR-UE4-認識UE4

VR的火熱&#xff0c;讓每個人都想參與一下&#xff0c; 公司在展會上面搞了一個VR的Demo&#xff0c;關注度超出預期&#xff0c;使得公司高層決定來個VR項目 所以 關于UE4 百度百科地址&#xff1a;http://baike.baidu.com/link?urlmEmbwOcqEuqtkfdu9lNdxVtWAkv0Q6UHZ4VgIHr…

java concurrent 例子_[Java Concurrent] 并發訪問共享資源的簡單案例

EvenGenerator 是一個偶數生成器&#xff0c;每調用一個 next() 就會加 2 并返回疊加后結果。在本案例中&#xff0c;充當被共享的資源。EvenChecker 實現了 Runnable 接口&#xff0c;可以啟動新的線程執行 run() 任務&#xff0c;用于檢測所指向的偶數生成器是否每次都返回偶…