ホームページ php教程 php手册 データベースを使用したPHP二次連携

データベースを使用したPHP二次連携

Jun 21, 2016 am 09:09 AM
gt quot

数据|数据库

<?php
/*******************************************
**********功能:php二级联动菜单*************
**********作者:冲星*************************
**********Email:njj@nuc.edu.cn**************
**********日期:2004/10/02******************
**********请转载时保留版权信息**************
*******************************************/

require_once('db.inc.php');//数据库连接
$db=new hq_online;
$db1=new hq_online;
$db->query("select * from news_bclass order by id desc");
$fMenu="";
$fValue="";
while($db->next_record()){
$fMenu.="\"".$db->Record["bname"]."\",";
$fValue.="\"".$db->Record["id"]."\",";

}
$fMenu=substr($fMenu,0,(strlen($fMenu)-1));
$fMenu="[".$fMenu."]";//*****************************得到var fMenu
$fValue=substr($fValue,0,(strlen($fValue)-1));
$fValue="[".$fValue."]";//*****************************得到var fValue

//得到*****************************var sMenu
$db->query("select * from news_bclass order by id desc");
while($db->next_record()){
$parentid=$db->Record["id"];
$db1->query("select * from news_sclass where parentid='$parentid' order by parentid desc");
while($db1->next_record()){
$num=$db1->num_rows();
$i++;
$sMenu.="\"".$db1->Record["sname"]."\",";
if($i==$num){
$sMenu="[".$sMenu."],[";
$i=0;
}
}
}
$sMenu.="]";
$sMenu=str_replace("\",]","\"]",$sMenu);
$sMenu=str_replace(",[]","]",$sMenu);
if((substr($sMenu,0,2))=="[\""){
$sMenu="[".$sMenu;
}else{
$sMenu=preg_replace("/\[{3,}/is","[[\\1",$sMenu);//匹配
}

//得到*****************************var sValue
$db->query("select * from news_bclass order by id desc");
while($db->next_record()){
$parentid=$db->Record["id"];
$db1->query("select * from news_sclass where parentid='$parentid' order by parentid desc");
while($db1->next_record()){
$nums=$db1->num_rows();
$j++;
$sValue.="\"".$db1->Record["id"]."\",";
if($j==$nums){
$sValue="[".$sValue."],[";
$j=0;
}
}
}
$sValue.="]";
$sValue=str_replace("\",]","\"]",$sValue);
$sValue=str_replace(",[]","]",$sValue);
if((substr($sValue,0,2))=="[\""){
$sValue="[".$sValue;
}else{
$sValue=preg_replace("/\[{3,}/is","[[\\1",$sValue);//匹配
}

?>
<div id="tar"></div>
<SCRIPT LANGUAGE="JavaScript" DEFER>
var fMenu = <?php echo $fMenu; ?>;
var fValue = <?php echo $fValue; ?>;
var sMenu = <?php echo $sMenu; ?>;
var sValue = <?php echo $sValue; ?>;

var oWhere = document.all.tar;
var ofMenu = document.createElement("<SELECT name='bigclass'>");
var osMenu = document.createElement("<SELECT name ='smallclass'>");
with(oWhere)appendChild(ofMenu),appendChild(osMenu);

createMainOptions();
createSubOptions(0);

ofMenu.onchange = function() {createSubOptions(this. selectedIndex);};

function createMainOptions() {
for(var i=0;i }
function createSubOptions(j) {
with(osMenu) {
length=0;
for(var i=0;i<sMenu[j].length;i++)osMenu.options[i] = new Option(sMenu[ j][i],sValue[j][i]);
}
}
</SCRIPT>

<?php
/*
调用方法:
正此代码保存は文件ld2.php
の例要在write.php页面放一二级联动,则在write.php页面
要在二级联動的地方加一句require_once("ld2.php");
若write.php要向save.php页面提交データ保存.php で使用
$bigclass=$_POST["bigclass"];// 大类的 id 值を取得
$smallclass=$_POST["smallclass"];// 小类的 id 值
接下来就知道该怎么做了吧……
附表的構造:
可能性のある表の構造と我有的相違,但基本点都一样,修改程序
中对应字段及び表名就ok
程序写的有点乱,不过绝对心を解放できる使用
欢迎与我交流探讨!
-------------------------------------- ------------------------
大类的表news_bclass结构

CREATE TABLE news_bclass (
id int(11) NOT NULL auto_increment,
bname varchar(10) ) NOT NULL デフォルト '',
PRIMARY KEY (id),
UNIQUE KEY id_2 (id),
KEY id (id)
) TYPE=MyISAM;

字段说明:bname は大类中文名
---- --------------------------

小分類の表news_sclass结构

CREATE TABLE news_sclass (
id int(11) NOT NULL auto_increment,
sname varchar(10) NOT NULL デフォルト '',
parentid int(10) NOT NULL デフォルト '0',
bname varchar(10) NOT NULL デフォルト '',
PRIMARY KEY (id),
UNIQUE KEY id_2 (id ),
KEY id (id)
) TYPE=MyISAM;

字段说明:snameは小类中文名
parendidは大类中のid值
bnameは大类中文名
-------- -------------------------------------------------- -


*/
?>

db.inc.php文件の内容
<?php
class hq_online extends db_sql{
var $Host="localhost";
var $Database="hq";
var $User="root";
var $password="";
}



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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Huawei GT3 ProとGT4の違いは何ですか? Huawei GT3 ProとGT4の違いは何ですか? Dec 29, 2023 pm 02:27 PM

Huawei GT3 ProとGT4の違いは何ですか?

修正: Windows 11 で Snipping ツールが機能しない 修正: Windows 11 で Snipping ツールが機能しない Aug 24, 2023 am 09:48 AM

修正: Windows 11 で Snipping ツールが機能しない

iPhoneでApp Storeに接続できないエラーを修正する方法 iPhoneでApp Storeに接続できないエラーを修正する方法 Jul 29, 2023 am 08:22 AM

iPhoneでApp Storeに接続できないエラーを修正する方法

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决

watch4proとGTのどちらが優れていますか? watch4proとGTのどちらが優れていますか? Sep 26, 2023 pm 02:45 PM

watch4proとGTのどちらが優れていますか?

iPadOS 17.4 で iPad のバッテリー寿命を最適化する方法 iPadOS 17.4 で iPad のバッテリー寿命を最適化する方法 Mar 21, 2024 pm 10:31 PM

iPadOS 17.4 で iPad のバッテリー寿命を最適化する方法

Guan Zeyuanjiang Shuying が Huawei MateBook GT 14 を体験: テクノロジーとアートの完璧な組み合わせ Guan Zeyuanjiang Shuying が Huawei MateBook GT 14 を体験: テクノロジーとアートの完璧な組み合わせ Aug 10, 2024 pm 09:51 PM

Guan Zeyuanjiang Shuying が Huawei MateBook GT 14 を体験: テクノロジーとアートの完璧な組み合わせ

不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没有关问题 不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没有关问题 Jun 13, 2016 am 10:15 AM

不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没有关问题

See all articles