十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
方法/步骤
成都创新互联拥有一支富有激情的企业网站制作团队,在互联网网站建设行业深耕十多年,专业且经验丰富。十多年网站优化营销经验,我们已为上1000+中小企业提供了成都网站建设、成都做网站解决方案,按需网站制作,设计满意,售后服务无忧。所有客户皆提供一年免费网站维护!
phpMyAdmin是一款web数据库管理软件,这款软件是数据库管理软件web软件中非常实用的。
请点击输入图片描述
先进入到网站管理的面板,在面板里找到 phpMyAdmin 4.0 点击对应的小方框,如下图
请点击输入图片描述
点击旁边小方框后会新开一个页面,可能在访问这个页面的时候会让输入用户名、密码的口令,将口令输入进去
请点击输入图片描述
登录成功后就进入了phpMyAdmin 的主控制面板了,面板显示了导入、导出、状态、用户等功能。还有就是数据库服务器的一些软件参数,如协议版本等信息。
请点击输入图片描述
在面板的左侧,列出了所有的数据库,点击数据库名称前面的+号可以展开数据库查看数据库中所有的数据表
请点击输入图片描述
点击数据表名,会打开点击数据表,会显示点击数据表的数据,前30条数据。因为是web的管理软件所以在处理大量数据的查询或者其他操作时会显得特别的消耗时间,但是使用web管理数据库不都是临时的情况下使用么。
请点击输入图片描述
这个需要做正则处理。
$str =preg_replace( "/\[img\](.*)\[\/img\]/is", "\img src=$1 \/\", $str );
常规方式
常规方式就是按部就班的读取文件了。其余的话和上述方案一致。
// 读取配置文件内容
$handle = fopen("filepath", "r"); $content = fread($handle, filesize("filepath"));123
PHP解析XML
上述两种读取文件,其实都是为了PHP解析XML来做准备的。关于PHP解析XML的方式的博客有很多。方式也有很多,像simplexml,XMLReader,DOM啦等等。但是对于比较小型的xml配置文件,simplexml就足够了。
配置文件
?xml version="1.0" encoding="UTF-8" ?mysql
!-- 为防止出现意外,请按照此标准顺序书写.其实也无所谓了 --
hostlocalhost/host
userroot/user
password123456/password
dbtest/db
port3306/port/mysql12345678910
解析
?php/**
* 作为解析XML配置文件必备工具
*/class XMLUtil {
public static $dbconfigpath = "./db.config.xml"; public static function getDBConfiguration() {
$dbconfig = array (); try { // 读取配置文件内容
$handle = fopen(self::$dbconfigpath, "r"); $content = fread($handle, filesize(self::$dbconfigpath)); // 获取xml文档根节点,进而获取相关的数据库信息
$mysql = simplexml_load_string($content); // 将获取到的xml节点信息赋值给关联数组,方便接下来的方法调用
$dbconfig['host'] = $mysql-host; $dbconfig['user'] = $mysql-user; $dbconfig['password'] = $mysql-password; $dbconfig['db'] = $mysql-db; $dbconfig['port'] = $mysql-port; // 将配置信息以关联数组的形式返回
return $dbconfig;
} catch ( Exception $e ) { throw new RuntimeException ( "mark读取数据库配置文件信息出错!/markbr /" );
} return $dbconfig;
}
}1234567891011121314151617181920212223242526272829
数据库连接池
对于PHP程序而言,优化永无止境。而数据库连接池就在一定程度上起到了优化的作用。其使得对用户的每一个请求而言,无需每次都像数据库申请链接资源。而是通过已存在的数据库连接池中的链接来返回,从时间上,效率上,都是一个大大的提升。
于是,这里简单的模拟了一下数据库连接池的实现。核心在于维护一个“池”。
从池子中取,用毕,归还给池子。
?php/**x
* PHP中的数据库 工具类设计
* 郭璞
* 2016年12月23日
*
**/class DbHelper { private $dbconfig; private $dbpool; public $poolsize; public function __construct($poolsize = 20) { if (! file_exists ( "./utils.php" )) { throw new RuntimeException ( "markutils.php文件丢失,无法进行配置文件的初始化操作!/markbr /" );
}else {
require './utils.php';
} // 初始化 配置文件信息
$this-dbconfig = XMLUtil::getDBConfiguration (); // 准备好数据库连接池“伪队列”
$this-poolsize = $poolsize;
$this-dbpool = array (); for($index = 1; $index = $this-poolsize; $index ++) {
$conn = mysqli_connect ( $this-dbconfig ['host'], $this-dbconfig ['user'], $this-dbconfig ['password'], $this-dbconfig ['db'] ) or die ( "mark连接数据库失败!/markbr /" );
array_push ( $this-dbpool, $conn );
}
} /**
* 从数据库连接池中获取一个数据库链接资源
*
* @throws ErrorException
* @return mixed
*/
public function getConn() { if (count ( $this-dbpool ) = 0) { throw new ErrorException ( "mark数据库连接池中已无链接资源,请稍后重试!/mark" );
} else { return array_pop ( $this-dbpool );
}
} /**
* 将用完的数据库链接资源放回到数据库连接池
*
* @param unknown $conn
* @throws ErrorException
*/
public function release($conn) { if (count ( $this-dbpool ) = $this-poolsize) { throw new ErrorException ( "mark数据库连接池已满/markbr /" );
} else {
array_push ( $this-dbpool, $conn );
}
}
}
首先是一个input class=dh
查询按钮 class=cx
图片框 class=tp
点击查询按钮时
script
$(".cx").click(function(){
var dh= $('.dh').val();//获取输入的电话
$.post('date.php',{tel:dh},function(result){
//将获取到的电话号码提交给date.php文件,date.php文件 通过查询tel='$_POST[tel]' 得到图片地址$src,echo $src;result即使那个返回的$src
$('.tp').find('img').attr('src', result);//将图片框内容改掉
});
});
/script
需要jquery支持 就是页面要载入
script type="text/javascript" src="js/jquery.js"/script
PHP链接数据库很简单的,用dreamwave自动生成的代码的话比较乱.
给你一个例子
?php
//链接数据库,如果链接不成功则提示"无法链接数据库"
$db=mysql_connect("数据库服务器地址","帐号","密码" ) or die("无法链接数据库服务器");
//选择数据库,注意数据库服务和数据库的区别
mysql_select_db("数据库的名字") or die("无法链接数据库");
//OK到此之后我们就可以对你选择的数据库进行操作了.
mysql_query("你需要查询的SQL语句");
?
另外送上PHP常用的mysql函数
mysql_affected_rows: 得到 MySQL 最后操作影响的列数目。
mysql_close: 关闭 MySQL 伺服器连线。
mysql_connect: 开启 MySQL 伺服器连线。
mysql_create_db: 建立一个 MySQL 新资料库。
mysql_data_seek: 移动内部传回指标。
mysql_db_query: 送查询字串 (query) 到 MySQL 资料库。
mysql_drop_db: 移除资料库。
mysql_errno: 传回错误讯息代码。
mysql_error: 传回错误讯息。
mysql_fetch_array: 传回阵列资料。
mysql_fetch_field: 取得栏位资讯。
mysql_fetch_lengths: 传回单列各栏资料最大长度。
mysql_fetch_object: 传回物件资料。
mysql_fetch_row: 传回单列的各栏位。
mysql_field_name: 传回指定栏位的名称。
mysql_field_seek: 设定指标到传回值的某栏位。
mysql_field_table: 获得目前栏位的资料表 (table) 名称。
mysql_field_type: 获得目前栏位的型态。
mysql_field_flags: 获得目前栏位的旗标。
mysql_field_len: 获得目前栏位的长度。
mysql_free_result: 释放传回占用记忆体。
mysql_insert_id: 传回最后一次使用 INSERT 指令的 ID。
mysql_list_fields: 列出指定资料表的栏位 (field)。
mysql_list_dbs: 列出 MySQL 伺服器可用的资料库 (database)。
mysql_list_tables: 列出指定资料库的资料表 (table)。
mysql_num_fields: 取得传回栏位的数目。
mysql_num_rows: 取得传回列的数目。
mysql_pconnect: 开启 MySQL 伺服器长期连线。
mysql_query: 送出一个 query 字串。
mysql_result: 取得查询 (query) 的结果。
mysql_select_db: 选择一个资料库。
mysql_tablename: 取得资料表名称
可以用无缝图片滚动效果 如:
!DOCTYPE html
html
head
meta charset="utf-8"
title/title
style
* { margin: 0; padding: 0;}
body{ background-color:#1B1B1B}
#div1{ width: 800px; height: 150px; position: relative; margin: 100px auto;overflow: hidden;}
#div1 ul { width: 800px; height: 150px; position: relative; }
#div1 ul li { height: 150px; float: left; list-style: none; padding-right:20px;}
#div1 ul li img { width: 200px; height: 150px; display: inline-block;}
a{ color: #B4B4B4; }
/style
script type="text/javascript"
window.onload=function(){
var odiv = document.getElementById('div1');
var oul = odiv.getElementsByTagName('ul')[0];
var ali = oul.getElementsByTagName('li');
var spa = -2;
oul.innerHTML=oul.innerHTML+oul.innerHTML;
oul.style.width=ali[0].offsetWidth*ali.length+'px';
function move(){
if(oul.offsetLeft-oul.offsetWidth/2){
oul.style.left='0';
}
if(oul.offsetLeft0){
oul.style.left=-oul.offsetWidth/2+'px'
}
oul.style.left=oul.offsetLeft+spa+'px';
}
var timer = setInterval(move,30)
odiv.onmousemove=function(){clearInterval(timer);}
odiv.onmouseout=function(){timer = setInterval(move,30)};
document.getElementsByTagName('a')[0].onclick = function(){
spa=-2;
}
document.getElementsByTagName('a')[1].onclick = function(){
spa=2;
}
}
/script
/head
body
a href="#" style=" display: block; margin:0 auto; width: 50px;"向左走/a
a href="#" style=" display: block; margin:0 auto; width: 50px;"向右走/a
div id="div1"
ul
liimg src="img/1.jpg"//li
liimg src="img/2.jpg"//li
liimg src="img/3.jpg"//li
liimg src="img/4.jpg"//li
/ul
/div
/body
/html