仓酷云

标题: PHP编程:php录入页面中静态从数据库中提取数据的... [打印本页]

作者: 谁可相欹    时间: 2015-2-4 00:17
标题: PHP编程:php录入页面中静态从数据库中提取数据的...
也许您在学习PHP的时候只想尽快的开发一个网站,也就会想我做网站,干嘛要学什么网页这些小儿科?不难看出,眼高手低的新手不在少数,这种思想无疑于建造空中楼阁,你不建地基,何来的房顶呢?静态|数据|数据库|页面   摘要:用php制造静态web页面时,在提交办事器之前,让php依据用户在以后页面上录入的某字段的值当即从数据库中掏出相干的其它字段的值并显示到以后页面上,是php法式开辟中的难点。本文以一个详细实例具体引见了如何将两个html内嵌式言语php和javascript奇妙联合起来,处理这个难点的详细办法。

关头词:php、静态、html。

如今的网站已从之前供应静态信息的模式开展到交互式的供应静态信息营业的体例。web的信息办事模式可以归纳综合为两点:向客户供应信息;纪录客户提交的信息。要供应这两种办事,需处理的成绩是:若何疾速地让用户在本人网站大批的信息中疾速提取他想要的信息,若何无效地纪录用户提交的信息,以便于未来用户查找。这些成绩都可以经由过程在网站中到场数据库撑持来处理。

因php对多种数据库都能供应优秀的撑持,且php的剧本直接嵌入在html文档中,利用十分便利。因而php是如今internet上最盛行的一种server端嵌入言语之一。别的,与其它的server端剧本言语如asp比拟,php收费开放源码而且供应跨平台的撑持,这使它可以等闲顺应现今收集中各类异质的收集情况;可以让网页制造人员可以十分快捷、便利地制造出功效壮大的静态web页面。然而,因为php是办事器端嵌入,更直不雅的了解是php语句是在办事器上履行,所以它只要提交时才将以后页面上的内容吸收和处置。而当你需求的内容是依据客户以后页面上录入的某字段的值,再静态到库中提取时,php就力所不及了。例如:要向客户供应一个“定货合同”的录入页面,个中包括一些“供货商信息”的录入,而各供货商的具体信息事前已在一个“商家”字典表中录入,如今请求当客户在以后页面上选中某“供货商”时,立时从“商家”字典表中将该供货商的某些信息如“开户行、帐号、地址、德律风”等提掏出来显示到以后页面上供客户直接利用或修正利用。如许的请求若用可视化编程言语如pb、vb等完成是一件垂手可得的事,但pb、vb不合适编写静态web页面;php合适编写静态web页面,但因为是办事器端嵌入,不克不及实时取得提交前页面上的变量值,所以完成上述请求就有必定的难度。在法式编写过程当中,我将php与javascript奇妙联合起来,处理了这个难点。

咱们晓得,一样是嵌入语句,然而javascript 又分歧于php言语。由于php是办事器端嵌入,而javascript是客户端嵌入,既javascript语句是在客户的阅读器上履行,这就决意了javascript可实时取得以后页面上的变量值,但又没法对办事器真个数据库直接操作。所以,将两者联合起来制造出功效壮大的静态web页面,可谓是珠联璧合。为了叙说便利,上面只以从字典表中掏出选中供货商的地址为例,申明详细做法。当需求掏出多个字段时,办法相似,但使用javascript函数从字符串中逐一掏出时,要仔细一些。

1.编写一个php函数

此函数的功效是将一切合适前提的“供货商信息”从“商家”字典表中掏出,并寄存到一个字符串变量$khsz中。

function khqk_tq($questr){

global $dbconn;

$dbq_resl=sybase_query($questr,$dbconn); //送出一个query字符串供sybase履行。

$dbq_rows=sybase_num_rows($dbq_resl); //取得前往行的数量。

$j=0;

for ($i=0;$i<$dbq_rows;$i++){ //建轮回,将每行中所需字段掏出,并放到数组$k[]中。

$k[]=sybase_result($dbq_resl,$i,"kh_id"); //掏出用户选择的供货商编号。

$add=sybase_result($dbq_resl,$i,"address"); //掏出该供货商地址。

if ($add==""):

$k[]="无";

else :

$k[]=sybase_result($dbq_resl,$i,"address");

endif;

$khsz=$khsz.$k[$j]."|".$k[$j+1]."|"; //将各字段值以”|”为分隔符,毗连到变量$khsz 中,构成一个长字符串。

$j=$j+2;

}

return $khsz;

}

2.编写一个javascript函数

该函数的功效是从字符串中依据kh_id值找到该供货商的地址,嵌入到html文件中。

<script language="javascript">

var khstr="<?=$k?>" //先将php变量改变成javascript变量khstr。

function khxz_onclick(){

frm=document.frmplanfill;

ghstj=frm.kh_id.value; //取得以后页面上方才选中的“供货商”的kh_id值。

numkh=khstr.indexof(ghstj,0) ; //从khstr串中找到该kh_id值地点的地位。

addr=khstr.substring(khstr.indexof("|",numkh)+1,khstr.indexof("|",khstr.indexof("|",numkh)+1)); //从 khstr串中掏出与kh_id对应的地址字段的值。

frm.address.value=addr; //将掏出的值赋给以后录入页面上的字段变量address。

}

</script>

3.在html中将两者联合起来,互为所用

$khinfo="select kh_id,address from kh where co_id=$s_coid and type='g' order by kh_id";

//将取供货商信息的sql语句放到变量$khinfo中。

$k=khqk_tq($khinfo); //挪用php函数,并将前往的字符串值放到变量$k中。

<meta name="generator" content="microsoft developer studio">

<meta http-equiv="content-type" content="text/html; charset=gb_2312-80">

<title>定货合同办理</title>

</head>

<body style="background-color: ivory">

<form name=frmplanfill method=post action="dhht_crt.php">



<table align=center border=1 cellpadding=0 cellspacing=0 width="90%" style="font-size: 10pt">



<tr>

<td>合同编号</td><td><input name=htbh size=15></td>

<td>合同概述</td><td colspan=5><input name=htgs size=53></td>

</tr>

<tr>

<td>供货厂商</td>

<td><select name="kh_id" onchange="khxz_onclick()"> //当每次改动所选供货商时,触发上述javascript函数。

<?prt_sele("select convert(int,kh_id),name from kh where co_id=$s_coid and type='g'",0,1)?></select></td> //将合适前提的一切供货商称号放到下拉列表框中供用户选择。个中prt_sele是自界说的 php函数。

<td>地 址</td>

<td colspan=3><input type=text name=address size=34 ></td> //触发javascript函数的了局是使得adrress变量取得值并显示到页面上。

以上代码的体系情况是:linux操作体系、sybase数据库、web server为apache、php4法式界面。以大将php和javascript相联合的法式开辟思惟已胜利地应用到咱们开辟的多个静态web页面中。
  算是1个熟悉的过程,所以c语言的基础有就更好,没有也不怕。
作者: 山那边是海    时间: 2015-2-4 10:48
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
作者: 只想知道    时间: 2015-2-7 17:46
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者: 变相怪杰    时间: 2015-2-14 12:06
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者: 兰色精灵    时间: 2015-2-17 08:31
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者: 小妖女    时间: 2015-3-11 05:21
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 简单生活    时间: 2015-3-17 21:09
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 乐观    时间: 2015-3-21 08:03
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者: 海妖    时间: 2015-3-22 17:44
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 再见西城    时间: 2015-4-3 00:22
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 小魔女    时间: 2015-4-6 10:43
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
作者: 分手快乐    时间: 2015-4-14 06:01
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者: 不帅    时间: 2015-4-17 07:45
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 愤怒的大鸟    时间: 2015-4-26 21:31
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者: 第二个灵魂    时间: 2015-5-4 08:51
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
作者: 灵魂腐蚀    时间: 2015-5-9 06:35
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 若天明    时间: 2015-5-11 01:52
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 金色的骷髅    时间: 2015-5-11 12:47
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
作者: 飘飘悠悠    时间: 2015-6-17 01:30
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2