ホームページ  >  記事  >  バックエンド開発  >  PHP は Mysql データベースを組み合わせてメッセージ ボード機能を実装します。mysql メッセージ ボード_PHP チュートリアル

PHP は Mysql データベースを組み合わせてメッセージ ボード機能を実装します。mysql メッセージ ボード_PHP チュートリアル

不言
不言オリジナル
2018-06-20 09:23:112341ブラウズ


PHP は Mysql データベースと組み合わせて、Mysql メッセージ ボード機能を実装します

まずメッセージ ボードのレンダリングをお見せします:


最近、PHP とこんな基礎を使いたかった 掲示板の実装は基礎知識の整理でもあります。


掲示板とは何ですか?テキスト情報を記録および表示するために使用できるキャリア。


それでは本題に入り、この掲示板がどのように実装されたかについて話しましょう。


まず、ユーザーがメッセージを送信すると、関連するコンテンツがサーバーに保存され、読みたいときにすべてのメッセージがバックグラウンドで読み上げられ、最終的にブラウザーに表示され、ユーザーは見ることができます。メッセージ。


バックエンドには、データの読み取りと書き込みを容易にするツールが必要です。これらの作業を完了するために、mysql データベースを選択しました。

私は主に次の 3 つの php ファイルを作成しました:


conn.php データベースに接続します;

addmsg.php php はページからメッセージ関連のコンテンツを読み取り、それを保存します (Insert )Database;

listmsg.php データベースからメッセージの内容を読み取り、ページに表示します。

1. データベース テーブルの構造を確立する準備をします は、phpMyAdmin のテーブル構造です。以下のスクリーンショット:


テーブル作成構文

SQL CREATE TABLE 语法
CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)

2.php は mysql データベースに接続し、データベースの 1 つを選択します 。私は以下の bbs データベース (ps の前に作成) を選択しました。使用するいくつかの PHP ライブラリ関数を紹介します。

①mysql_connect("localhost", "root", "")

php は mysql に接続します。パラメータは、mysql アドレス (localhost はローカル マシンを表します)、ユーザー名、パスワードです。


戻り値: 接続が失敗した場合は false を返し、接続を返します。識別子

②mysql_select_db($dbName, $conn);

mysql には多数のデータベースが存在する可能性があるため、次の操作ではデータベースの 1 つを選択する必要があります。


パラメータ: 1 つ目はデータベース名、2 つ目はリンク識別子です。ここでは、①に戻り値を入れることができます。つまり、①で mysql を使用することになります。


戻り値: 接続が失敗した場合は false、接続が成功した場合は true。

③mysql_query(query,connection)

パラメータ: クエリは、mysql に実行させたいステートメントを表します


connection オプション、SQL 接続識別子は上記と同じです


戻り値: mysql_query() は、SELECT、SHOW、EXPLAIN、またはDESCRIBE ステートメントの識別子。クエリが正しく実行されなかった場合は FALSE を返します。


他のタイプの SQL ステートメントの場合、mysql_query() は正常に実行された場合は TRUE を返し、エラーが発生した場合は FALSE を返します。


この戻り値の個人的な要約: この関数が実行に失敗した場合は false を返しますが、正常に実行された場合は、それが SELECT、SHOW、EXPLAIN、または DESCRIBE ステートメントであるかどうかによって異なります。リソース識別子が返され、他のステートメントは true を返します ;


ここまで言って、掲示板のコンテキストが出てきました

コードから始めましょう

conn.php

 <span style="font-family:Comic Sans MS;font-size:14px;"><?php 
include("head.php"); 
$dbName = "bbs"; 
$conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误"); 
$flag = mysql_select_db($dbName, $conn); 
mysql_query("set names &#39;GBK&#39;"); //使用GBK中文编码; 
function toHtmlcode($content) 
{ 
return $content = str_replace("\n","<br>",str_replace(" ", " ", $content)); 
} 
?></span>

toHtmlcode カスタム関数は、文字列 ( n) を入力するものです。 HTML では改行に置き換えます

、HTML ではスペースをスペースに置き換えます ( )
関数の 1 つは次のように紹介されています

文法

str_replace(find,replace,string,count)

参数 描述
find 必需。规定要查找的值。
replace 必需。规定替换 find 中的值的值。
string 必需。规定被搜索的字符串。
count 可选。一个变量,对替换数进行计数。

addmsg.php

<span style="font-family:Comic Sans MS;font-size:14px;"><?php 
// 引用之前写好的连接数据库文件 
include("conn.php"); 
if(@$_POST[&#39;submit&#39;]){ 
$sql = "insert into message (id,user,title,content,lastdate)" . 
"values ( &#39;&#39;,&#39;$_POST[userName]&#39;,&#39;$_POST[title]&#39;,&#39;$_POST[content]&#39;,now())"; 
mysql_query($sql); 
echo "添加成功"; 
} 
?> 
<SCRIPT language=javascript> 
function CheckPost() 
{ 
if (myform.userName.value=="") 
{ 
alert("请填写用户名"); 
myform.user.focus(); 
return false; 
} 
if (myform.title.value.length<5) 
{ 
alert("标题不能少于5个字符"); 
myform.title.focus(); 
return false; 
} 
if (myform.content.value=="") 
{ 
alert("必须要填写留言内容"); 
myform.content.focus(); 
return false; 
} 
} 
</SCRIPT> 
<form action="addmsg.php" method="post" name = "myform" onsubmit="return CheckPost();"> 
用名:<input type="text" size="10" name="userName" /><br/> 
标题:<input type="text" name="title" /><br/> 
内容:<textarea name="content" cols="60" rows="9" ></textarea><br/> 
<input type="submit" name="submit" value="提交留言" /> 
</form> 
</span>

include 是引入conn.php,类似于c语言中include

$_POST 变量是一个数组,此变量用于收集来自 method="post" 的表单中的值,post发出的键值对存于此$_POST数组中$_POST['submit'] 取键submit的值,如果触发submit,也就是CheckPost返回为true时,会post值,显然$_POST['submit']不为空,非空即为真,那么就执行if里面的插入语句。使留言内容保存在mysql数据库中。

listmsg.php

<span style="font-family:Comic Sans MS;font-size:14px;"><?php 
include("conn.php"); 
?> 
<table width=500 border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#add3ef"> 
<?php 
$sql = "SELECT * FROM message order by lastdate desc"; 
$query = mysql_query($sql); 
while($row = mysql_fetch_array($query)){ 
?> 
<tr bgcolor="#eff3ff"> 
<td><b><big> 
标题:<?= $row[&#39;title&#39;]?></big><b/> <b><sub> 
用户:<?= $row[&#39;user&#39;]?></sub></b></td> 
</tr> 
<tr bgColor="#ffffff"> 
<td>内容:<?= toHtmlcode($row[&#39;content&#39;])?></td> 
</tr> 
<?php 
} 
?> 
</table> 
</span>

php与html代码混编看起来还是比较乱的。

php从mysql中获取留言内容,并把它显示在页面上,我这里显示在table里。主要代码就上面这些。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。