PHP技术家园 目录:

详解PHP显示MySQL数据的三种方法

  在昨天的专题里,我们谈论了如何用PHP读取MySQL中的数据,今天,我想再继续补充一下其它的几种数据读取方式。

  昨天的程序是这样的:

<?php
$link=mysql_connect(”localhost”,”root”,”之前的管理员密码”);
if(!$link) echo “没有连接成功!”;
else echo “连接成功!”;
mysql_select_db(”infosystem”, $link);
$q = “SELECT * FROM info”;                
mysql_query(”SET NAMES GB2312″);        
$rs = mysql_query($q, $link);
if(!$rs){die(”Valid result!”);}
echo “<table>”;
echo “<tr><td>部门名称</td><td>员工姓名</td><td>PC名称</td></tr>”;
while($row = mysql_fetch_row($rs)) echo “<tr><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td></tr>”;
echo “</table>”;
mysql_close($link);
?>

  程序中红色部分就是显示MySQL中数据的关键。这里,大家可以用其它两种方式替换红色部分并达到相同效果。

  1. while($row = mysql_fetch_object($rs)) echo “<tr><td>$row->depart</td><td>$row->ename</td><td>$row-pcname</td></tr>”;
  2. while($row = mysql_fetch_array($rs)) echo “<tr><td>$row[depart]</td><td>$row[ename]</td><td>$row[pcname]</td></tr>”;

  简要地说明一下:

  用mysql_fetch_row()的方法返回的一行数据列储存在一个数组的单元中,偏移量从 0 开始。例如你要返回第二个字段的数据,就应该写成$row[1]而不是$row[2]。

  mysql_fetch_array() 和 mysql_fetch_row() 类似,返回的数据也是存储在一个数组中,有所区别的是我们应该用字段命来访问该数组而不是通过偏移量,例如$row[depart]。

  mysql_fetch_object()返回的不再是数组而是一个对象,我们应该用对对象的操作方法来读取数据,例如:$row->depart。

  大家可以根据自身需要,选择一种方式,代替程序中红色部分来读取MySQL数据。

PHP读取MySQL数据

    配置好了PHP环境,接下来,我们要正式开始对数据库进行操作了!首先是读取MySQL中的数据。记得我们之前是怎么连接MySQL数据库的么?

    新建view.php文件,其内容为:

<?php
$link=mysql_connect(”localhost”,”root”,”之前的管理员密码“);
if(!$link) echo “没有连接成功!”;
else echo “连接成功!”;
?>

    这样,我们便连接上了MySQL数据库,接下来,就是数据读取部分的代码,根据我的MySQL数据源表结构的介绍,我们试验性的来读取:

    depart     varchar(45)     部门名称
    ename     varchar(45)     员工姓名
    pcname   varchar(45)     PC名称

这三段数据。

    在view.php中紧接着前边的代码继续写:

<?php
mysql_select_db(”infosystem”, $link);          //选择数据库
$q = “SELECT * FROM info”;                   //SQL查询语句
mysql_query(”SET NAMES GB2312″);        
$rs = mysql_query($q, $link);                     //获取数据集
if(!$rs){die(”Valid result!”);}
echo “<table>”;
echo “<tr><td>部门名称</td><td>员工姓名</td><td>PC名称</td></tr>”;
while($row = mysql_fetch_row($rs)) echo “<tr><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td></tr>”;   //显示数据
echo “</table>”;
mysql_free_result($rs);                    //关闭数据集
?>

    其中,“infosystem”为数据库名,“info”为表名。大家可以根据自己的情况酌情修改。

    接着,运行它~怎么样~数据是不是顺利被读取了呢?

改变Apache端口等配置

   今天想补充一下前两次专题中没有详细探讨,但又比较重要的内容。

  • 如何改变Apache端口
  • 如何改变IIS端口
  • 如何配置改变Apache网页服务目录在本机中的地址路径
  • 如何配置改变Apache首页文件名

  如何改变Apache端口:找到Apache安装目录下conf目录下的httpd.conf文件。打开它,找到“Listen”,紧接着Listen的数字就是端口号,默认状态下为“Listen 80”。在之前的PHP专题中提到过关于在安装配置Apache时会遇到端口与IIS HTTP端口冲突的问题,因为IIS HTTP端口默认也为80。那么我们就可以在这里改变Apache的端口,从而避免冲突,比如可以改成:Listen 8011。改好之后别忘重起Apache服务使得配置生效。

  如何改变IIS端口:如果你想同时保留Apache服务与IIS服务,又不想改变Apache默认的80端口,那么只有改变IIS的端口了。开始->运行->输入:inetmgr->Internet信息服务->本地计算机->网站->右键“默认网站”->属性->选择“网站”标签->修改TCP端口即可。最后也别忘了重新启动一下IIS服务。

  如何配置改变Apache网页服务目录在本机中的地址路径:默认状态下,Apache的wwwroot为Apache安装目下的htdocs目录,如果你想改变这个目录的位置,那么还是打开httpd.conf,找到DocumentRoot “C:/Program Files/Apache Software Foundation/Apache2.2/htdocs”以及<Directory “C:/Program Files/Apache Software Foundation/Apache2.2/htdocs”>,修改其中的两个路径到你指定的位置即可。(红色部分为笔者电脑中的路径,只作为参考。)重起Apache服务。

  如何配置改变Apache首页文件名:当你输入例如http://localhost时,Apache会默认打开index.html文件,如果你想修改首页文件或者增加首页文件时,仍然打开httpd.conf,找到DirectoryIndex index.html,修改index.html为你想要文件名即可,比如main.php。如果你想添加多个首页文件,可以用空格隔开,文件的前后顺序就是首页文件读取的优先度。重起Apache服务。

  好了,在了解了这些基本的配置方法及概念后,我们可以更加顺利地进行我们的系统制作了!

WindowsXP中快速配置Apache+PHP5+Mysql

  查了一些资料,再加上以前也曾配置过,整个Apache + PHP5 + Mysql配置、测试成功的过程只用了短短5分钟。汗。废话不多说,先罗列出我下载的相关程序的版本:

Mysql-4.1.8-essential-win
Mysql-gui-tools-5.0-r12-win32
php-5.2.5-win32-installer
apache_2.2.4-win32-x86-no_ssl
phpMyAdmin-2.11.5.1-all-languages
navicat8_mysql_cs-v8.0

   对这些软件稍作说明:
  Mysql选用了比较旧的版本,反正够用就行,本来也就是个学习的过程,相信大家也不会有什么疑义。
  因为是菜鸟,Mysql GUI(Mysql可视化工具)还是有必要安一下的,建议初学者也装一下吧,当然,高手别BS。。。
  PHP正好看到新版本发布,那就拿来用吧~
  Apache也一样,随便挑了一个。
  PHPMyAdmin是一个基于web的mysql可视化工具,别小看它哟~一般空间提供商提供的虚拟空间如果支持Mysql的话,其操作界面多数就是它了。所以,学习一个也无妨。
  navicat,又是一款Mysql的GUI,第三方做的比较好的GUI,值得一用!
  如果有朋友不明白他们具体是派什么用处的,我会在今后的专题中加以补充。 [更多内容...]

Wordpress指定分类下的文章不在首页中显示

  最近在做一项尝试,如何让Wordpress中某些类别下的添加文章后不在首页显示更新,目的在于纯净自己的BLOG,不想让一些与BLOG主题无关的文章放在首页直接与大家见面。

  于是乎翻遍了wordpress的Document,最后发现in_category(’category_id’)函数可以实现我的想法。

  简单地说,in_category(’category_id’)的作用为,判断当前的文章是否在category_id类别中,如果是,返回真。

  那么,我只要在wordpress的index.php文件中加入如下代码即可实现我的需要:

  <?php if (in_category(’category_id’) && is_home() ) continue; ?>

  注意一下此代码添加的位置,一般位于<?php while (have_posts()) : the_post(); ?>之后即可。

  如果需要隐藏多个分类也很容易,稍微改进一下代码即可:

  <?php if ((in_category(’1′)||in_category(’2′)||in_category(’3′)||in_category(’4′)) && is_home() ) continue; ?>