一步一步教你用PHP+MySql搭建网站 No.2 图片显示和Page页面

接着上一章节的看,我们现在的程序有了第一个主页面,但是我们会发现几个问题,一个是主页上的图片没法显示,二是点击read more ... 之后的链接没有内容

这两个页面的入口分别是下图里面的两个框出来的内容。

我们先来看图片显示的页面;

Resize_image.php

我们注意到其实这个链接的完整URL是:
resize_image.php?image=...&max_width=...&max_height=...
;

也就是说这个链接有3个参数: image是图片的名称,max_width和height分别对应图片的宽和高。

那么我们在这个页面我们该如何处理呢?

这是resize_image.php的完整代码,将原始的图片大小根据我们页面输入的width和height来进行压缩或者放大,然后重新生成一张新的图片,用于显示在页面上。

接下来我们来看page.php页面

page.php

因为点击page页面其实相当于打开了3个不同类型的blog内容的详细页面,所以我们肯定是需要到数据库里面进行select操作的。

上一篇blog里面有讲解过,我们只需要改变中间的显示内容,所以在第10行和第47行,我们分别引入了header.php和footer.php ,中间的内容我们通过数据库查询以后再显示出来。

我们展示page页面的时候,可能有时候是用户点击了某一条story,这时候参数里面会有story,传入的是故事的id;或者可能是某一类的只有page字段,所以根据参数中有没有story,我们来决定我们的select该怎么写。

但是无论如何,我们最后得到的都是这样的表结构:

我们再来回顾下stories表的建立过程:

注意看到id字段不仅仅是primary key,而且它还是auto_increment属性,在MySQL里面,auto_increment就是自增字段,每次插入数据时,会自动查询当前序列的最大值,然后加1,

大家看我的stories表中存的所有内容,1-7都是我们通过教材手动insert进去的,然后会发现接下来就是11了,而并没有8,9 和10 ,是因为我在开发过程中进行了插入和删除操作,我把id为8,9,10的记录删除了,所以在表中没有显示,但是即便这时候你的表里面最大的id是7,他的记录也会插进去11,也就是说 这个自增的序列是独立于当前的表的,和oracle的自增序列一样,但是我不太清楚mysql里面的自增序列和oracle有哪些区别。

Oracle中的自增序列的建立方法是:

CREATE SEQUENCE "SEQ_ID" MINVALUE 1 MAXVALUE 999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER NOCYCLE;

然后使用的时候就直接insert .... values(seq_id.nextval)就相当与插入了下一个自增序列的下一个值,所以在oracle里面可以有好几个自增序列,但是不太清楚MySQL里面自增序列这块是怎样的,目测是只有一个公用的自增序列。

好了我们回归正题,在while循环体内,我们能看到每个故事是由4部分组成的,

27行:

显示每篇story的headline,

29-35行:

根据存储的picture名称来显示出图片,使用的方法仍然是我们上面提到的resize_image.php

36-41行:

这里我们需要用到db_fns.php中的新的函数:

把下面的函数添加进 db_fns.php中,这个函数很简单,就是把当前sotry的writer信息找到。

然后显示文章修改的时间:

这里在数据库里面存储的是10位的时间戳形式的,显示的时候 根据格式做一下转换就好了:

date('M d, H: i', $story['modified']);

44行

显示故事的主题内容。

好了,这样我们就能看到界面上的图片,然后也能点击主界面上的大部分按钮了。

下一章节我们来进行用户登录,然后新增文章等操作。

时间: 2024-11-03 22:28:56

一步一步教你用PHP+MySql搭建网站 No.2 图片显示和Page页面的相关文章

一步一步教你用PHP+MySql搭建网站 No.5 图片上传、故事删除

上篇文章中讲到,story.php中的表单提交之后的页面是story_submit.php,我们就看一下story_submit.php是如何完成文章的发表的 老样子,先上代码: <?php # add / modify story record include_once('include_fns.php'); $handle = db_connect(); $headline = $_REQUEST['headline']; $page = $_REQUEST['page']; $time =

一步一步教你用PHP+MySql搭建网站 No.3 管理页面

先来看一下本篇blog将要介绍的内容. 我们的主页面已经搭建完成了,然后左边的navigation里面的大部分内容也都能点击了,只剩下"search" 和"I'm a writer"两个链接了. 本篇教程过后,我们将能完成下面的功能: 这是我们的主界面 点击"I'm a writer" : 点击任意一个链接: Writers登录之后的页面: 好了,我们一步一步来吧: 我们可以看到在主界面的表单项里面,点击I'm a writer之后的链接是这样的

一步一步教你用PHP+MySql搭建网站 No.6 文章的publish

本节我们来看和publish相关的3个页面:  publish.php, unpublish_story.php和publish_story.php 我们回到admin的主页面,index.php 我们点击下面的链接,跳转到的是 publish.php 整体过一遍代码,这里面应该没有多少新的内容了,我们重点看一下结构: 4-6行 和editer一样,如果当前用户还未已经登录,就显示登录的界面 9-13行 显示当前登录作者的名字,以及3个链接,logout,主菜单和返回主页面 15-18行 这个s

一步一步教你用PHP+MySql搭建网站 No.7 关键字和搜索

本篇是这系列教程的最后一篇了. 我们看到还有几个页面没有讲到,分别是 keywords相关页面 和search相关页面 将这两部分放在一起是因为search是搜索的关键字找到文章的.因为这本教材是比较老的教材了,所以里面的架构设计可能也比较老. 截止到目前,基本上没有新的知识点要讲解了,看一下如何来构建网页和后台的逻辑吧: keywords.php 第10行 get_story_record 和get_writer_record功能类似,是在db_fns.php中的一个函数: keyword_a

一步一步教你用PHP+MySql搭建网站 No.1 主页&amp;数据库连接

这一章节我们来看用户输入网页后的主界面. 一般来说,默认主页都是index点xxx,比如 index.php, index.html , index.jsp等等.我们来看一下我们的index.php吧 index.php 提醒: 在<?php?>的两端,不要出现任何空格或者其他字符,也就是不要在<?php 的前面加上空格这样的字符,然后?>后面也不要出现其余的字符,不然的话可能会出现这样的提示: 我之前出现过这样的情况,google了之后是说headers 必须放在最开始的时候执行

一步一步教你用PHP+MySql搭建网站 No.4 文章编辑、图片上传

本篇blog我们将来重点看文章编辑页面story.php,因为这个页面说实话代码量是挺多的,还涉及到了图片的上传. 从页面上来直观的体验: add new  和 edit都是打开的story.php页面,所以我们应该能提前想到,这个页面会先检测下是哪种请求. 首先我们来搞定比较简单的logout.php页面 这个页面其实很简单了,主要是几个函数 unset函数其实就是将一些特定的变量置为空: session_destroy函数是销毁当前的session,当然,当前session中的数据也随着一并

一步一步教你用PHP+MySql搭建网站 No.0 准备工作

新开一个系列教程吧,这次是讲如何用PHP+MySQL搭建网站. 之前一直有想过搭建自己的个人网站,然后上周通过阿里云申请的域名和空间都通过审核了,于是就开始研究如何用PHP+MYSQL搭建网站,研究了差不多两周,总算搞定了一个小型的blog类的网站.当然,整个过程是通过学习<PHP and MySQL web development>下来的,这篇教程中的例子是在原书中的Chapter 28: Building a Content Manager System章节的基础上,修改完成的.所有的源代

web系列教程之php 与mysql 动态网站 。检索 与更新。

接着上次WEb 系列开发之php 与mysql动态网站入门. 个人觉得,学习技术就像一棵大树,主干很重要,枝叶其次.对于学习技术,我们应该分清主次关系.怎么学?为什么要学?有一个较好的分寸. 有时候觉得 国内有些教育,从一开始就从枝叶 细节说的很清楚.说了一大堆,就是很散的感觉,虽然有很多知识.但是学的人呢,并不清楚这个的实际应用, 这样会导致学习兴趣的缺失.个人觉得 就比如 php 和mysql吧,虽然我也不是高手,但就学习上面还是能评论几句的,比如我从表单开始 讲表单的注册,也就是 网站会员

教你一步一步部署.net免费空间OpenShift系列之一------帐号注册和验证

前几天有博友发布了一篇文章<一键部署mono 免费空间支持ASP.NET MVC 再也不担心伙食费换空间了>,支持MVC3和域名绑定,觉得不错,于是自己实践了一下,发现自己实际遇到的问题真不少,而且网上的关于此空间的帖子要么千篇一律,要么语焉不详,现总结为图文教程系列 帐号注册和验证 打开https://www.openshift.com/products/pricing,出现三种选择,前2种是免费的,建议选择第二个. 点击Create one跳转到创建用户界面 看到如下信息,填写邮箱和密码,