php數據庫添加分類名 php分類目錄
PHP文章分類時,應該如何實現,數據庫如何規劃,以及添加分類的實現?
數據庫建兩個表,一個是分類的,另一個是放文章的,文章表里面有個字段關聯分類表
創新互聯建站致力于互聯網品牌建設與網絡營銷,包括成都做網站、成都網站制作、成都外貿網站建設、SEO優化、網絡推廣、整站優化營銷策劃推廣、電子商務、移動互聯網營銷等。創新互聯建站為不同類型的客戶提供良好的互聯網應用定制及解決方案,創新互聯建站核心團隊十年專注互聯網開發,積累了豐富的網站經驗,為廣大企業客戶提供一站式企業網站建設服務,在網站建設行業內樹立了良好口碑。
php 二級分類問題
你這個是在做無線欄目分類,現在方法很多,比較實用的用遞歸調用 ,左右直調用
簡單的解決方案:
數據庫結構
CREATE TABLE `class` (
`id` int(10) NOT NULL auto_increment,
`name` varchar(250) character set gbk default NULL,
`classid` int(10) default NULL,
`sort` int(10) default '10',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=11 ;
php處理文件
div id="main" a href="?action="分類列表/a a href="?action=add"添加分類/a
?php
$mysql = new mysql_Class('localhost','root','');
$mysql - select_db('myde520');
switch($_GET['action']){
case 'add':
$class_arr=array();
$sql = "select * from `class` order by sort asc, id Desc";
$query = $mysql - query($sql);
while($row = $mysql - fetch_array($query)){
$class_arr[] = array($row['id'],$row['name'],$row['classid'],$row['sort']);
}
?
form action="?action=act_add" method="post"
table border="0" cellpadding="0" cellspacing="0" class="table02"
thead
tr
td colspan="2"div align="center"添加分類/div/td
/tr
/thead
tr
tddiv align="right"分類名稱:/div/td
tdinput name="name" type="text" class="input" id="name" value="" size="40" //td
/tr
tr
tddiv align="right"所屬分類ID:/div/td
tdselect name="classid" id="classid"
option value="0"-----頂級分類-----/option
?php
dafenglei_select(0,0,0);
?
/select
/td
/tr
tr
tddiv align="right"排序:/div/td
tdinput name="sort" type="text" class="input" id="sort" value="10" size="25" //td
/tr
tr
td colspan="2"div align="center"
input type="submit" name="button" id="button" value="添加分類" /
input type="reset" name="button2" id="button2" value="重置" /
/div/td
/tr
/table
/form
?php
break;
case 'act_add':
$sql = "INSERT INTO `class` (`name`,`classid`,`sort`) VALUES('".$_POST['name'];
$sql .= "',".$_POST['classid'].",".$_POST['sort'].")";
$mysql - query($sql);
msg('添加成功!','?action=');
break;
case 'edit':
$class_arr=array();
$sql = "select * from `class` order by sort asc, id Desc";
$query = $mysql - query($sql);
while($row = $mysql - fetch_array($query)){
$class_arr[] = array($row['id'],$row['name'],$row['classid'],$row['sort']);
}
$sql = "select * from `class` where id=".$_GET['id'];
$query = $mysql - query($sql);
$row = $mysql - fetch_array($query);
if($row){
?
form action="?action=act_edit" method="post"
table border="0" cellpadding="0" cellspacing="0" class="table02"
thead
tr
td colspan="2"div align="center"修改分類/div/td
/tr
/thead
tr
tddiv align="right"分類名稱:/div/td
tdinput name="name" type="text" class="input" id="name" value="?php echo $row['name'];?" size="40" //td
/tr
tr
tddiv align="right"所屬分類ID:/div/td
tdselect name="classid" id="classid"
option value="0"-----頂級分類-----/option
?php
dafenglei_select(0,0,$row['classid']);
?
/select
/td
/tr
tr
tddiv align="right"排序:/div/td
tdinput name="sort" type="text" class="input" id="sort" value="?php echo $row['sort'];?" size="25" //td
/tr
tr
td colspan="2"div align="center"
input type="submit" name="button" id="button" value="修改分類" /
input type="hidden" id="id" name="id" value="?php echo $_GET['id'];?" /
input type="reset" name="button2" id="button2" value="重置" /
/div/td
/tr
/table
/form
?php
}else{
msg('要修改的記錄不存在!','?action=');
}
break;
case 'act_edit':
$sql = "select id from `class` where id=".$_POST['id'];
$query = $mysql - query($sql);
$row = $mysql - fetch_array($query);
if($row){
if($row['id']==$_POST['classid']){
msg('修改失敗,不能自己是自己的子分類!','?action=');
}else{
$sql = "update `class` set `name`='".$_POST['name']."',`classid`=".$_POST['classid'];
$sql .= ",`sort`=".$_POST['classid']." where `id`=".$_POST['id'];
$mysql - query($sql);
msg('修改成功!','?action=');
}
}
break;
case 'del':
$sql = "select * from `class` where id=".$_GET['id'];
$query = $mysql - query($sql);
$row = $mysql - fetch_array($query);
if($row){
$mysql - query("delete `id` from `class` where id=".$_GET['id']);
msg('刪除成功!','?action=');
}else{
msg('記錄不存在!','?action=');
}
break;
case '':
$class_arr=array();
$sql = "select * from `class` order by sort asc, id Desc";
$query = $mysql - query($sql);
while($row = $mysql - fetch_array($query)){
$class_arr[] = array($row['id'],$row['name'],$row['classid'],$row['sort']);
}
?
table class="table"
thead
tr
td 分類名稱/td
td width="60"div align="center"排序/div/td
td width="80"div align="center"操作/div/td
/tr
/thead
?php dafenglei_arr(0,0);?
/table
?php
break;
}
?
/div
?php
function msg($msg,$url)
{
echo "script type=\"text/javascript\"alert('$msg');window.location.href='$url';/script";
}
function dafenglei_arr($m,$id)
{
global $class_arr;
global $classid;
global $mysql;
if($id=="") $id=0;
$n = str_pad('',$m,'-',STR_PAD_RIGHT);
$n = str_replace("-","??",$n);
for($i=0;$icount($class_arr);$i++){
if($class_arr[$i][2]==$id){
echo "tr\n";
echo " td".$n."|--a href=\"?action=editid=".$class_arr[$i][0]."\"".$class_arr[$i][1]."/a/td\n";
echo " tddiv align=\"center\"".$class_arr[$i][3]."/div/td\n";
echo " tddiv align=\"center\"a href=\"?action=editid=".$class_arr[$i][0]."\"修改/a";
echo " a href=\"?action=delid=".$class_arr[$i][0]."\"刪除/a";
echo "/div/td\n";
echo " /tr\n";
dafenglei_arr($m+1,$class_arr[$i][0]);
}
}
}
function dafenglei_select($m,$id,$index)
{
global $class_arr;
$n = str_pad('',$m,'-',STR_PAD_RIGHT);
$n = str_replace("-","??",$n);
for($i=0;$icount($class_arr);$i++){
if($class_arr[$i][2]==$id){
if($class_arr[$i][0]==$index){
echo " option value=\"".$class_arr[$i][0]."\" selected=\"selected\"".$n."|--".$class_arr[$i][1]."/option\n";
}else{
echo " option value=\"".$class_arr[$i][0]."\"".$n."|--".$class_arr[$i][1]."/option\n";
}
dafenglei_select($m+1,$class_arr[$i][0],$index);
}
}
}
/**
*-------------------------數據庫操作類-----------------------------*
*/
class mySql_Class
{
function __construct($host, $user, $pass)
{
@mysql_connect($host,$user,$pass) or die("數據庫連接失敗!");
mysql_query("SET NAMES 'gbk'");
}
function select_db($db)//連接表
{
return @mysql_select_db($db);
}
function query($sql)//執行SQL語句
{
return @mysql_query($sql);
}
function fetch_array($fetch_array)
{
return @mysql_fetch_array($fetch_array, MYSQL_ASSOC);
}
function close() //關閉數據庫
{
return @mysql_close();
}
function insert($table,$arr) //添加記錄
{
$sql = $this - query("INSERT INTO `$table` (`".implode('`,`', array_keys($arr))."`) VALUES('".implode("','", $arr)."')");
return $sql;
}
}
?
thinkphp引用dtree,怎么把dtree的分類名從數據庫獲得數據顯示出來
首先數據庫名和表明不要重復。沒有特別的原因,有的時候這樣會出問題,而且是很難發現的問題。
首先需要一個樹形的表,你的表不是樹形的。
樹形的表需要id和pid(parentID)。你這樣2張表是什么意思?
一個二級的樹形?
如果是三級呢,四級呢?你的ln是上級的意思?
表的結構應該是這樣的。
create table book_type
(
book_type_id int primary key auto_increment,
book_type_name varchar(255),
pid int
);
insert into book_type values (1,'文學類',0);
insert into book_type values (2,'科幻類',0;
insert into book_type values (3,'世界名著',0);
insert into book_type values (4,'中國文學類',1);
create table book
(
book_id int primary key auto_increment,
name varchar(255),
book_type_id int
);
insert into book values (null,'康熙大帝',4);
insert into book values (null,'黑雨',4);
insert into book values (null,'紫日',4)
數據庫連接的語句一般單獨放到一個文件中。
首先你需要引用dtree的javascript文件。例如這樣script type="text/javascript" src="dtree.js"/script
script type="text/javascript"
var d = new dTree('d');
%String str="";Statement stmt =null;ResultSet rs=null;String name=null;int ln=0;Class.forName("com.mysql.jdbc.Driver");String url ="jdbc:mysql://localhost/lib?user=rootpassword=1230";Connection conn= DriverManager.getConnection(url);String preStr ="";for(int i=0;i1;i++){ preStr+="|---";}stmt =conn.createStatement
();rs= stmt.executeQuery("select * from book_type");while(rs.next()){
%
d.add(%=rs.getString("book_type_id")%,%=rs.getString("pid")%,'%=rs.getString("book_type_name")%','#');
%
}
rs.close();
rs = null;
conn.close();
conn = null;
}catch(Exception ex){
out.println(ex.toString());
}
%
document.write(d);
/script
這個是查詢圖書類型的,如果加上圖書的信息需要把sql改一下。
改成select * from book_type union select book_id as book_type_id,book_name as book_type_name,book_type_id as pid from book;
phpcms v9添加專題里分類名稱和分類路徑是什么
分類名稱和分類路徑,如果你使用系統默認的模板就可以看到了。
相當于文章的一個子分類,就是一個欄目;不過是在專題下面的一個欄目,分類路徑就是保存這個欄目的目錄
我剛加了一個,你看下就明白了
網頁標題:php數據庫添加分類名 php分類目錄
URL鏈接:http://www.xueling.net.cn/article/hgdppd.html