JASON HIRSCHHORN:欢迎 大家到八周。 我们有一个令人兴奋的一周摆在我们面前。 你们有鸽子在过去的几 讲座到PHP,SQL,HTML,CSS,所以 四大品牌新语言的打算 拿起剩下的这门课程。 我们还将学习一些其他的 课程结束前的语言。 但无论如何,不​​用说,这是一个 非常激动人心的时刻在CS50,现在你 已经掌握了C,表面上,并 移动到编程的网站。 所以本周,我们将继续 通过四个旋风之旅 我刚才提到的语言, HTML,CSS,PHP和SQL。 并希望,我们会留下大量的 时间段的结束谈话 关于本周的P设置和答案 大家有任何问题。 每个星期,同样的资源列表 为你,帮助你用一周的 问题设置和准备 在材料 - 但此周尤其,对于这些 基于web的问题集,有一个 主机的其他资源列 那里,你将有可能 找到难以置信的帮助。 我有他们在这里。 我会向您发送电子邮件本节之后, 而这也上线了。 但在特定的,有很多 伟大的资源在那里。 也有一些不是那么大 的,所以要警惕那些。 但是在这张幻灯片上,我有四个好 资源,每一个的 你会工作语言 这个星期 - 一个参考手册的HT​​ML, 参考表CSS。 这里这个权利是PHP手册。 因此,而不是打字的人,然后一个PHP 命令,这就是你会 去查查函数原型 和例子,也有一些技巧和 技巧使用PHP函数。 你会经常使用这个网站, 所以我鼓励你成为 熟悉它。 它可以是一个有点技术,但它 还提供一吨的资源和 示例所有的功能和 甚至其他,想怎么用数组或 不同类型的变量。 这个网站是PHP非常有帮助。 然后,为SQL,如果你一头扎进这 本周的问题集,你就会知道 我们正在使用的数据库。 我们通过访问数据库 一个比较漂亮的用户界面。 或者说,有一种方法来访问 该数据库。 用户界面是 所谓的phpMyAdmin。 有一个SQL选项卡,我们将 看看今天以后。 而且你可以输入到他们的示例SQL 查询,做事情在你的数据库 然后运行这些查询。 如果他们是正确的,它会 说,这其中的正确。 如果他们不正确,它会 说,这是不正确。 这是一个伟大的地方来练习你 写他们到之前的SQL查询 你的代码,以确保您 有格式正确无误。 最后,在这里另外一个网站。 这是一个网站,你可以 去检查,以确保您的 HTML代码是有效的。 所以,把你的问题之前设置 这一周,确保所有的 你的HTML是有效的。 上周,你曾经的valgrind跑, 请确保你有没有内存泄漏。 这一周,你需要确保所有的 你的代码是有效的HTML5。 如果它不是有效的HTML5,你 要得到分折。 所以一定要确保 - 只是因为它的工作原理不 意味着它是完全有效的。 通过本网站运行代码 将其入伙前 同样,这里的网站。 如果您有任何意见对我来说,我们有 一对夫妇更多的部分留下, 我总是想要做什么,我可以给 为您提供所有的最好的部分 体验成为可能。 因此,让我知道,如果有什么事,我 怎样才能提高或者有 你看,我可以做的更好的事情。 谢谢,AVI。 把它放在网站上。 这是自行车我有我的时候 是,让我们说,四家。 这是一个忍者神龟龟 骑自行车,如果你看不出来, 因为它是一个有点模糊。 您可以独家发售现在得到它 对,我认为,100​​美元左右。 但这个自行车是我想要的功能 你要注意这些 就在这里。 这些都是辅助轮。 到现在为止,你一直手持 通过C.我们已经采取了很长 时间两个月加, 要经过C。 对于这些未来一,语言, 我们不会以 花那么多的时间。 训练车轮脱落。 而且我们要潜入这些 语言快速移动 他们迅速,这是不是说, 我们只是要离开你游泳 在那里,没有办法支持 自己或弄清楚如何将这些 工作语言。 我刚才给你看的列表 的资源来帮助你。 但请记住,PHP是令人难以置信 类似于C。我们就去了 今天和一些不同之处吧。 但在大多数情况下, 有for循环。 还有,如果条件。 当你想解决一个问题, 你要使用 结合这些的。 这是非常相似的。 逻辑应该是非常相似的 你在过去所做的一切。 什么是真正的新本周是 语法以及如何表达自己。 而你想要写一个for循环,但它 可能看起来有点不同。 或者你想创建一个数组,但它 可能看起来有点不同。 所以请记住,前进, 的逻辑是非常相似的什么 你在过去所做的那样。 但你现在将要遇到 很多新的语法。 我们不打算步行通过 语法中的所有元素。 所以,这真的取决于你要弄清楚, 在网上或通过伸出的 讨论或发送电子邮件至我或交谈 彼此,如何在写东西 PHP和如何编写SQL查询 以及如何使用HTML和CSS。 但只要你知道,这并不是说 我们试图扔掉你在那里 再次游泳的鲨鱼。 这就是你将有可能与做 您的最终项目,如果你选择一个 不同的语言,像IOS和 目标C,或者如果你决定开始 规划中的未来 潜入其他语言, 像Python或Ruby。 通常情况下,该逻辑是非常相似的 在所有这些语言,而 语法是有什么不同。 这将是你的,因为 程序员去使用网络 提供给您和数字资源 如何表达你知道如何 发表在C中,在 不同的语言。 所以这是很好的做法,既为您的 最后的项目,并再次,对于 你可能会做 你离开后,CS50。 在我们继续之前,是否有人 有任何疑问什么 我已经做了这么远吗? 大。 让我们继续前进。 首先,我们要简单谈谈 关于chmod命令。 这一点,我们会做的开始 你的问题设置。 一个的第一个指令 对你来说,你下载后, 分配的代码,是改变 档案和权限 您收到的目录。 任何人都可以大胆的猜测或知道 为什么要改变它是非常重要的 某些文件和权限 您的计算机上的目录? 阿维 - 观众:那么没有人,除了 你可以看到你在做什么? JASON HIRSCHHORN:确定。 因此,如果我们想要把东西就 网络,并设置权限 只有你能看到的东西, 再没有其他人可以 看到自己创建的东西。 还有什么? 是啊。 观众:防止别人说你 不想看到的东西,从 看到的东西。 JASON HIRSCHHORN:这是真的也。 有可能是一些代码, 你写的,你不 希望人们能看到。 你可能用的人看到的确定 您的HTML和你的JavaScript。 但你的PHP,后端代码,很多的 逻辑到你的代码,也许 存储你的一些密码的东西 为你的数据库,你不 希望人们看到, 类型的信息。 因此,重要的是,每个文件和 我们创建的目录有权限 适用于我们是否要 人们看到这些类型的文件和 目录,并能够访问它们 甚至还有可能改变他们。 因此,有三种类型的 权限。 有一个读权限,这意味着 你可以读一个文件或目录的 该目录的内容。 还有的写权限,这 意味着你可以改变文件或更改 一个目录,然后执行 权限,这意味着你可以 执行一个文件或者说,你 可以移动到一个目录中。 所以,光盘什么的,如果你有 执行它的权限,你可以移动 进入该目录。 这是一个简单的例子。 同样,你已经了解了这 在问题设置。 但是,我创建一个目录 用mkdir命令。 我更改权限。 这两行实际上做 完全相同的事情。 这说明了语法 更改权限,无论你做 在一个+ X或711,这些都是相同的。 我们低头看着这个漂亮的桌子。 我们看到,有用户 第权限。 这就是你的个性, 你的服务器,有可能。 然后有组和其他用户。 那些之间的差异 2顷比较琐碎。 所以一般我们会结块 那些在一起。 但本质上,如果我们有一个文件 所谓包括我们要 能够编辑自己,我们要 他人能够执行, 它的许可711。 而且我们看到,下来 此处在此表中。 我们有读,写和执行。 对于我们每个人,我们要 能够做到这些。 集团和其他人,我们只希望 它们能够执行。 我们翻译的方式 成若干 权限是通过二进制。 所以,如果我们有三个的,这是一个1 在那些列,1的二进制补码 柱,1四肢列。 这是7在那里。 而这个权限是1。 此权限是1。 因此,当711是一样的给 自己读,写和执行, 和其他人的执行权限。 这条线就在这里,我们一般 将具有读取和写入时,我们 创建目录。 所以,这条线在这里只是增加了执行 特权给大家。 所以这将是类似于在 除了我们所拥有的, 加1,1,1到大家。 而这一点,这是不必要的 添加读取和写入。 但是,如果你要使用的号码, 你不能只是补充一下。 您覆盖任何人的许可 那里与新实施这些 数你给。 这是相当快的。 没有任何人有任何疑问, 有关更改权限? 确定。 如果我有一个PHP文件,有什么权限 我希望它有哪些? 这是问题的集中规范。 所以,你可以看看规格和 然后读了我答案。 观众:你希望用户 有读写权限。 和你想每个人都 别的什么都没有。 JASON HIRSCHHORN:什么 号码是什么? 观众:600。 JASON HIRSCHHORN:600。 所以,CHMOD 600 - 每当你打印 一个PHP文件,chmod将其转换600。 确定。 我有一个目录。 有人除了杰夫, 我有一个文件夹。 我想将什么权限 给该文件夹 - 也是在问题设置规范, 右下方这个答案或 以前的答案? 也有可能在幻灯片上 - 马库斯。 观众:对于 文件夹,它是711。 JASON HIRSCHHORN:711 - 这样一个文件夹,你想给711。 你想成为能够读取该文件夹, 更改目录,进入 该文件夹。 和你想别人都可以 到该文件夹​​中导航,但 不一定会改变其内容。 怎么样一个非PHP文件, 说,一个JavaScript文件? 我们想要怎样的权限 给该类型的文件? 观众:644。 JASON HIRSCHHORN:644 - 我们为什么想给它644? 观众:为了让其他人阅读。 和你读或写。 JASON HIRSCHHORN:那么好吧,大家 其他人可以阅读该JavaScript文件。 你可以改变,除了 要能够读取它。 所以最常见的错误的人之一 有这个问题的设置及其 最后的项目,如果它是一个基于Web的最终 项目,他们将不会设置 正确的权限。 并且他们将无法 看到他们的网站。 或者他们的网站的特定部分。 因此,请确保您的设置 权限正确。 不要只是假设,它会 会自动为你做它。 确定。 这是一个很小的事情,我们花了 时间上量好,所以 我们可以钉它。 让我们继续为HTML。 再次,对于这些未来四个主题, 我们要通过他们去 比较快。 所以,请随时阻止我在任何 时间,如果您有任何疑问, 无论他们是关系到我的支付 或从东西或讲座 即使从问题设置。 阻止我只要你需要。 当我们到了年底,我们就 开始准备过的问题集。 这样的HTML代表超文本 标记语言。 这是不是一种编程语言。 它所做的就是结构内容 并且还提供了一些元数据。 因此,例如,据推测,许多 您以前使用过Facebook的。 并且可以包括链接,或者你 可以把一个链接作为您的状态。 然后,你会发现链接 总是有一个漂亮的图片 它和一些文字。 通常,这是一些元数据 对于一个网页。 而且它是Facebook的特定的元数据。 然后,当Facebook被阅读了 页面并插入该链接,它 看起来对于特定的元数据,因此它 知道要显示什么画面,什么 标题来显示,并且什么 抽象的文字来显示。 因此,我们可以包括元数据 我们的网页使用HTML。 它也可以帮助我们结构 的含量,通常,什么 我们想要去的地方。 在HTML中一切都是​​一个元素。 和元素在这里 - 这CS50,文字的元素。 而且它有一些标签。 这个它有一个标签。 我们注意到有一个一个的 开始,然后斜线的,所以 关闭一个标签底。 有时候,有没有一个开放的 标记和结束标记。 这里还有一件事。 我们会看到这样一个例子 对下一张幻灯片。 所以,你不需要一个开放 和结束标记。 但对于这一点,我们住这个 在一个锚标记CS50元素。 而且基本上,这些标记告诉 浏览器如何处理 的特定元素。 如此反复,CS50是文本 我们将要看到的。 它将会是 一种锚。 锚本质上是用来 对于链接的东西。 特别是,你可以 已经知道,这是一个 链接到CS50主页。 标签的下一部分 - 或一般, 标签的一部分是 属性。 我们看到这里,那 该标签有一个 属性,这个href属性。 他们修改特定的标签。 事实上,如果你去的一 网站或我给你的参考 之前或查找标签在线, 你会发现有一吨的 潜在的属性。 这大概是1 最常见的。 这是告诉我创建一个 链接到该特定网站。 和一般属性给出, 如果不是全部发出, 在键 - 值对。 因此,这里的关键,HREF。 和值是在这里正确的。 而这会派上用场,后来, 当我们开始使用一些库 帮助我们的代码中的JavaScript 或写HTML内容。 我们经常将是 - 就像我们 会做阵列支架0和 会给我们一些价值。 在未来,我们会做很多的 东西喜欢的事支架的href。 而这会给我们的价值 HREF,或者如果我们要更新的href 键,然后给它 一个特定的值。 所以就像使用数组,我们不得不 键0或1键或2键,或即使有 哈希表,好了,你的哈希表 还有,你可能有 - 它 是一个数组,所以0键,键1,键2。 该指数在那里,我们可以 认为那是一个关键。 和值是什么 被存储在那里。 所有这些属性 是键 - 值对。 而这将是重要的改变 他们或更新它们或 后来将它们插入。 最后,你已经看到了这个结构 之前,但是这是最基本的 HTML页面的结构。 在顶部,我们告诉你, 这其实就是HTML。 然后我们有一个开放的HTML 标记和结束HTML标记。 所以一切的内 这是HTML。 我们看到的头部和主体。 您的文档的头部 一般包括什么? 任何猜测为你 放在头上? 观众:你把标题和风格。 JASON HIRSCHHORN:标题。 这是一个伟大的猜测。 我可能已经放倒你去的。 什么是一些其他的东西? 我们提到的其中之一, 可能去的头部。 观众:他说,款式。 JASON HIRSCHHORN:样式 - 所以如果你想在一个JavaScript链接 或什至一个CSS,而你说 约当你在谈论 有关样式。 另一个文件,你想在一个链接 文件外,也可能会 在头部。 还有什么? 我们提到了几个幻灯片 的事情前一个 HTML可以为你做什么。 它可以提供 - 开始于一个的M - 观众:元数据。 JASON HIRSCHHORN:元数据 - 因此很多 元数据将在头去, 因为这将不一定需要 是你的代码的身体的一部分。 这是一般 - 身体是 内容,有人看到的。 因此我只是给了答案 我的下一个问题。 但在体内通常的含量 那将被显示 上的网页。 正如我们将看到的,复杂的网站 往往混为一谈,或改变了什么 它们放置在头部和主体。 但是总体来说,头部包含的东西 用户是不会 在屏幕上看到。 它连接在其他文件 并提供元数据。 然而,体内含有的一切 用户将要看到的。 任何知道这个p标签意味着什么? 观众:段落? 观众:打印。 观众:这并不意味着打印。 观众:这是否意味着段落? JASON HIRSCHHORN:段落 - 所以这是一个段落。 而这个p标签,我可能刚输入 这在屏幕上,然后 包括换行符 在它的结束。 任何人都知道如何将 换行符? 观众:公关 - JASON HIRSCHHORN:公关 - 观众:斜线公关? JASON HIRSCHHORN:公关斜线 代表换行符。 但段有具体的 格式。 我们会得到一个格式化 第二,当我们谈论的CSS。 但一切这些p标签内 也会有一些默认的格式 与它相关的,可能是一些 之间不同间距的 段落。 而这将是区分单程 代码块。 任何其他标​​记 - 什么是你见过的其他标签? JASON HIRSCHHORN:通过H6 H1。 通过H6 H1,和那是什么? 观众:这将意味着有多大 和大胆的字母。 JASON HIRSCHHORN:对, 它代表了头。 所以header1的是一个很大的标题。 它可能会在默认情况下,要大胆,一 大字体的大小,大概集中在 在屏幕上,一路下跌到H6, 它是一个较小的字体大小,减 强调。 当然,你可以在你的CSS文件 或者在某个地方你的代码 - 这, 再次,我们会得到,在第二 - 改一下默认行为 的一个h1标签。 但请记住,铬,野生动物园, 火狐,IE浏览器都有 默认查找了很多 这些标准标签。 您可以再次,永远改变 他们的样子。 任何其他标​​记,每个人都 已经见过? 是啊 - 观众:一个DIV的网站。 JASON HIRSCHHORN:一个div标签 - div标签 没有任何内建的格式,每 本身,用于阻挡 不同类型的代码。 任何其他标​​记? 是。 观众:李 - JASON HIRSCHHORN:李 - 什么是礼呢? 观众:列表。 观众:列表 JASON HIRSCHHORN:li为 对于列表中的元素。 有两种类型的列表。 哪两种类型? 观众:有序和无序。 JASON HIRSCHHORN:有序和 无序的 - 所以UL看台 对于无序列表。 这就是,如果你想有一个子弹 点,子弹的列表。 有序列表是一个编号的列表。 所以你会做一个开放的UL标签,然后 列表中的元素吨,然后 关闭UL标记。以及将 创建一个无序列表。 我们将看到一些例子 的HTML在一个位。 但在此之前,我想要得到的CSS。 和CSS代表层叠 样式表。 这是非常密切相关 以HTML,但略有不同。 这可以帮助您格式化所有的内容 该HTML结构。 所以在CSS中,我们一般不希望 每一个样式单头或每 单一的形象或每 单款。 我们希望一些风格元素 或者一个特定的元素。 和我们一路样式的特定 元素是给它一个ID。 所以这是一个属性。 它有一个键和一个值。 ID是关键。 标志是价值。 我随机挑取的标志。 如果你给的东西一个ID, 通常,只应给予 给一个元素。 然后,在你的样式表,你可以 风格,特定的元素,然而 你希望它看起来。 如果你想要的款式了一些 元素,也许这是一个特定的类 头的,只有你的头的部分。 也许这是一个头和一个图像和 段你都希望为中心。 然后,你可以给这些组 元素的所有类。 而且你可以给这个类 特定的样式。 因此,一个ID和一个类两种方法 打破你的代码,这样你就可以成为帮助 更具体的在你的风格。 有三种方法来样式。 第一个是,用 这个样式属性。 所以你看,风格关键是风格。 样式值实际上是 另一个关键值列表。 在这种情况下,我选择了 一键,文本对齐。 我说,中心。 你可能会问自己在这个 一点,我怎么会知道 文本对齐。 这是什么,即使做? 这是一个很大的问题要问,以及 我们去到那里在第二。 所以这就是样式的东西的一种方式, 只要给它的样式属性。 另一种样式的东西是 - 这是AKSHAR前面提到的。 您可以使用样式标记,并将该 在你的HTML文档的头部。 所以你基本上是说, 这里里面的内容 是一些样式的内容。 而对于该格式是你的事 想要的款式,然后里面 大括号,键值对的 属性,你想给 该特定类型的元素。 最后,这是 最常用的方法。 这是我们的方式 做到这一点P中集7。 这是一个外部的样式表。 所以,你有一个。css文件。 和它里面,你会看到很多的 事情是这样的,这个名字 某些类型的元素或一个ID或 一个类,然后,卷曲的内 大括号,键值对的列表。 当然,如果你创建一个外部 文件,你要 需要包括它 - 犀利包括,那会 成为了C比喻 - 在你的HTML文件。 所以,你必须包含这个 在你的HTML文件中的代码。 这是该文件的名称和 假设它是在同一个目录下。 确定。 这是一个很多。 而我们现在要呼吸,并期待 在一些真正的,活的网站, 探索这更多。 但在此之前,我们这样做,是否有人 有什么问题吗? 所以,如果你想这样做,随着 我,我们可以去家电。 而我选择了CS50主页。 你可以与任何网站做到这一点。 但我们为什么不开始 在CS50的主页? 让我们来刷新。 其实我强烈建议你在干什么 这个跟我一起,因为我们 打算现在要做的将是 令人难以置信的方便的你,不仅在 P-7集,但在P-8设置为好。 是啊。 观众:有没有办法做评论 在HTML中,不使用PHP? JASON HIRSCHHORN:是的,可以 在HTML中提出意见。 观众:什么是语法? 观众:感叹号短跑冲刺。 观众:确定。 JASON HIRSCHHORN:是的。 即语法。 您可以在HTML中提出意见。 你可以在PHP中提出意见。 正如你所看到的,在HTML注释会 仍然显示,当我们看 某网站的HTML源代码。 因此,这cs50.net。 如果你右击在最现代的 在几乎所有的网页浏览器,可以查看 该页面的源代码。 因此,让我们做到这一点的CS50。 和你瞧,我们 看到一个巨大的东西。 CS50实际上看起来相当不错。 很多网站会不会 看看这个漂亮的。 如果你去谷歌的主页 并打开它。 它不会看这个不错的。 但你注意到,在顶部 - 这是有点小。 让我们把这个更大的。 确定。 在顶部,DOCTYPE HTML, 这是熟悉的。 然后,我们看到了开放的HTML标签和 头,就在这里,所有的 这些meta标签。 你可以看到这个OG,不 要进入这件事情。 但我几乎可以肯定在那 这些将是Facebook的。 这实际上是Facebook的。 我认为,代表开放的图形。 所以请记住,我提的有 功能NEW特定的元数据就可以 给到一个页面。 那什么是正确的位置。 所以,当你在Facebook上链接此页面, 图像它会显示 这是图像就在这里。 而你实际看到它的 Facebook的,因为它是 Facebook的形象。 但无论如何,我们正在一边。 因此,我们有一些元数据标签在这里。 我们看到CS50称号。 再次,标题是善有善报 在这里在浏览器选项卡。 我们看到这个链接是在,就在这里, 外部JavaScript文件。 我们还没有谈到JavaScript的多, 但下周 - 当然,如果 你在做一个基于Web的问题集, 您将使用JavaScript。 这是您在外部链接如何 JavaScript文件。 我们看到这里,终于,在CSS 样式表,即这些文档 风格的这份代码。 让我们真正打开和 看看真的很快。 这看起来疯狂。 有没有办法,我会 能通读。 所以,你实际上可以不过,如果你拿 一起来看看,你可以排序的看到, 有 - 我们走吧。 这看上去就像我们所看到的 之前,背景颜色,将其设置 等于一些红绿蓝值。 排序这东西不应该似乎 国外,即使当介绍 这样,它可以是 有点势不可挡。 我们不是要看看这个CSS文件 或花很多时间在上面,因为 它是,再次,非常难以阅读。 让我们回到这 HTML页面为CS50。 并让我们向下滚动到身体。 而且里面我们看到这个div标签。 我们看到了一个头就在这里。 我们看到的锚标记。 而这个列表元素是 给定一个特定的类。 而且我们看到,重复类 一遍又一遍。 有你柯蒂斯。 有HTML5中的注释。 正如你看到的,我们仍然可以看到 它,但它没有显示出来。 它实际上是非常有趣的。 这看起来是这样的成绩列表 元素被注释掉。 如果我们去到这个页面,再次,它仍然 在那里出现,那么有趣。 哦,那是为什么呢,因为 这下一行。 还有什么,我们看到的兴趣呢? 这样做的其余部分较为混乱,在 处理这种权利的一半 网站,这是一个小 更复杂一点。 因此,这是一些HTML 是要看起来像。 对于我来说,虽然,这是一个小 压倒性的,这不 帮我那么多。 然而,有一些 确实,其实帮了我很多。 这就是我用什么,每当我 试图找出某物 看起来它的方式,或如何能 我改动了我的网站。 那是一个开发工具 内置于Chrome浏览器。 所以,如果你去这三条杠权利 这里再往工具点击 开发工具,一个小窗口会 弹出在页面的底部。 尤其,铬,因为它是 精彩,将格式化这个窗口, 采取的HTML,使它看起来 很多关于你更好。 所以,现在它实际上是一些可折叠 的HTML,你可以探索检查 页面的元素。 如果我们想看看身体, 它实际上凸显。 当你翻阅过的HTML的一部分, 倒在这个窗口中,它会 突出的部分它在说话 关于在大窗口。 因此,让我再试一次,并 吹这一点。 确定。 因此,让我们打开身体。 而且我在滚动这个左格。 而且你注意到它的突出 这左半个屏幕。 因此,让我们点击该 并展开。 里面的它,它看起来像 有两个div。 还有这个第一个div。 我没有看到高亮显示。 我不知道,但它看起来像这样 第二个,左内,是内容 在屏幕的左侧。 再有就是这个东西叫做头。 它看起来像是一个突出 在CS50的一部分。 如果我们打开了,我们看到它的 无非就是头1。 它给了一个ID,它的 给定的文本CS50。 所以,再一次,看着它通过这个 控制台或者使用开发者工具 窗格的屏幕使得底部 探索这个网站,希望一 少了很多恐吓和 很多更方便。 这也让我们认识到, 本网站,虽然它看起来很 漂亮,漂亮,是不是所有的东西 超过你将成为怎样的 这样做的习题集7。 而这完全是内 你的能力去创造。 如果我们要 - 有关使用这些其他很酷的事情 工具,如果你右键点击 标题,您可以编辑HTML。 所以,让我们把它叫做杰森。 现在你会发现我已经改变 此页面上的HTML。 当然,我并没有改变 它永久。 如果我刷新我的浏览器,那么它会 回到原始的HTML。 但有时我想调试我的代码, 我不想看只是有我 gedit的窗口,并尝试理解 这是怎么回事。 我想看看会现场发生什么。 所以,我将修改这样的代码,并得到 但我想要的方式来看待。 然后我会做 变化在我的代码。 而且我发现它是一个更容易 当你可以做的事情 瞬间,像这样。 比方说,再次,我们要再拍 偶然的机会,因为我们正在探索与 HTML和CSS现在。 我可以编辑HTML现在。 我要去包含一个链接。 所以我要改变CS50的家 页,所以它会链接到 - 让我们说 - 我的主页。 叫什么名字,如果有人回忆说,或 什么是我想给属性 当我想要一个锚标签 它链接到别的地方? 观众:HREF? JASON HIRSCHHORN:HREF - 所以,现在,你会看到有 贾森是根据下划线。 这是因为Chrome浏览器,默认情况下, 给出了锚下划线。 你可能已经看到过 当你去一个网页。 东西都是链接 下划线和蓝色。 对于一个链接的默认样式 是一般强调 并把它放在蓝色。 如果我不喜欢这样, 我可以改变这一点。 我们将在第二个改变它。 但现在,还注意到,如果我徘徊 在此,在左下方的 屏幕正上方的字元素 是,我给它的链接。 所以,如果我没有点击这个 - 我们可以 右键点击这个,打开一个新标签。 这其实不是我的主页。 这只是我的名字。 你去那里。 现在,我们已经把它变成一个链接。 让我们来探讨一些CSS以及。 美丽的事物 - 而且我要去 使这个稍微小了一点 - 约 这个控制台是,那个疯狂的CSS表 我们看到之前,这是真的 很难解析,现在是美丽的 奠定了我们在左手边 此窗格。 所以我们可以看一下。 如果我们扩展这个风格标签,我们 可以看到所有的不同风格 一种是与相关联的,在这种情况下, 这个特殊的元素,这 链接元素。 如果我们这样做的复合样式选项卡,即 只是告诉我们,不是这里的一切 从何而来,但基本上所有的这些 这是经营上的风格 这个特殊的元素现在。 让我们说,我们要 改变它一下。 因此,这是所有的样式 操作这个特殊的元素。 说,我们要改变它,因为我们 想怎么看东西的样子。 而我们只是在玩 各地现在。 或者我们要测试的东西出来,才 写它的代码和推 它并使其生活。 我们可以去的风格标签。 并在第一个框中它 说,element.style。 而在这里,你可以插入, 你可以添加一些东西。 所以我想 - 让我们去我的链接和 设置背景色。 它实际上自动填充它适合你, 所有可能的属性。 背景颜色,我想 作出这样的蓝色。 BLUS是不是一个词。 蓝色是一个字。 难道我看它上来? 哦,原来是因为它是在href? 确定。 因此,我看不出这里有什么变化。 那是因为,如果我们突出 链接时,你会发现链接 实际上并没有控制所述 这个特定元素的属性。 它实际上,如果我们打开链接, 这个头就在这里这就是 控制是什么样子。 所以,如果我想使背景 蓝色的,我其实有改变 的背景颜色 头元素。 现在我们看到, 背景是蓝色的。 如此反复,这很快可能会去 通过这种材料很快。 但是,这基本上是什么 你会做的事情。 这不是在习题集7, 但是当你肯定 编码在网络上。 确定。 我想使背景的蓝色。 即使在这种情况下, 蓝色看起来很丑陋。 我可以去这里玩。 我看到它变为蓝色 不会在一个工作。 我必须真正改变标题 元件包括蓝色 背景。 然后,如果当时我回到我的CSS 文件,实际上,我怎么设定这个 背景是蓝色和 进行此更改棒? 因为如果我们注意到,如果我刷新 页面,所有我所做的更改都不见了。 于是我意识到,好吧,我 背景是蓝色的。 我需要进入那个header1的元素 并改变背景颜色为蓝色。 我怎么居然作出这样的改变? 嗯,记得,如果我们进去吧 在这里,这个头球攻门, 标题都有一个ID。 这就是冠军。 所以在我们的CSS文件,我们可以说,OK, 采取任何带有标题的ID和 给它这个额外的属性。 我们该如​​何引用一些与 标题,任何想法,或任何人的ID 知道我们如何引用 在我们的CSS文件的ID? 哈希,这是完全正确的。 而你得到了一个暗示就在这里。 所以,在某个地方这个CSS文件, 还有下面这行代码 - ##左左内侧##标题标题。 和它给它缘底部, 定义这个边缘底部 特定元素。 好吧,如果我想改变这种状况, 我会去到这个CSS文件。 我既可以找到这个 CSS文件的一部分。 或者,我可以写我自己。 我可以做散列标题大括号和 然后背景颜色蓝色结肠癌 分号和关闭的大括号。 而这将改变背景 色彩这个元素,以蓝色的。 他们给你这么多在这里的原因是 即,有必要在这种情况下, 因为标题是一个唯一的ID。 但你可以做的是鸟巢的东西。 因此,这是说,好了,去左边。 这是非常小的。 我对此表示道歉。 但去的东西ID为左。 里面的那个,寻找 ID为遗忘物内。 里面的那个样子,找 东西用ID头。 里面的那个,认准的事情 编号标题和更改ID称号。 所以这只是一种方式 嵌套的东西。 有些人喜欢窝,因为 这使得它更清楚一点。 你会看到这儿还,右 在这里,没有散。 这只是H1。 这是因为,H1中给出的 一个通用的标记名称。 并有一些CSS属性 与每一个H1相关。 所以,如果我发现了另一个H1此页面上, 我也看到,这种风格是 适用于它。 如果我想要一个样式应用到一个类, 我怎么引用类或 谈一类在一个CSS文件? 观众:点。 JASON HIRSCHHORN:这是一个点。 因此,让我们回到这个页面之前。 如果我做杂凑的ID。 这是改变风格 与ID的东西。 或者,对不起,如果我做散列的标志,这是 寻找的东西与标识的ID 并给它一个特定的CSS样式。 如果我做一些事情。顶部,这是发现 一切都与类顶部和 改变它的样式。 如果我只是H1,即认为每个 单h1和给它的任何 风格我想给它。 如果我做H1空间,然后。顶部。 这会发现所有的H1S,然后 所有与类顶级的那些和 那么只有改变这些样式 无论我想给它。 再次,我们可以写 一些这方面我们自己。 但是,我们也不会得到那么远。 好多了,看来真正去 上一个活生生的网站,看看如何 他们这样做,并期待在所有的 你做奇妙的事情。 让我们再看一个网站 在我们继续之前。 这是一个你可能会 熟悉。 这是CS50融资。 所以,再一次,你其实可以进去 观察这个CSS文件的 电脑,因为你已经下载了这个 CSS文件,如果你下载了 问题集。 我们可以去工具和 开发者工具。 我们看到一个更简单的HTML布局。 我们有顶部,中间和底部。 再次,你应该是 熟悉了,因为你已经了解了 通过分配代码 本周的问题集。 在顶部是,每个代码, 单个图像调用。 那就是在图像的源。 说我已经完成了所有的东西 我想对于习题集7。 和它的正常工作,但 我想改变它的外观。 我想改变背景 该页面的顶部, 例如,蓝色。 如果是我,我会来的 这里弄清楚,确定什么 我想改变。 让我们来看看,DIV ID之上,那长相 像的页面的顶部。 因此,让我们去那里。 让我们尝试改变 背景颜色。 让我们做的爱丽丝蓝色,因为 这是一个更好的。 而且你会发现 - 你可能无法看到。 但是有一个淡蓝色的, 旁边的CS50的标志。 让我们,而不是将其更改为红色。 ,你会发现现在我只是改变了 背景颜色为红色。 所以,现在我将进入我的CSS文件, 键入#顶花括号就在这里。 你可以看到代码的权利 在这里,大括号。 然后,我想补充的背景 色,红色。 然后,就 是一个大括号。 所以这是我会怎样探索和 试验在CS50格式化 财经网站。 我可以在这儿试做 它在我的浏览器。 然后,我可以进入我的实际代码 并进行了变化,将 实际去住的,人们 实际看到的,如果他们要来 我的具体部位。 确定。 这是一个很多。 我的经历道歉 它如此之快。 没有任何人有任何疑问, 在所有的HTML或CSS? 观众:你可以去超过你如何 挂了后来杰森,再次? JASON HIRSCHHORN:什么 你的意思是联系在一起? 观众:你提供一个链接到另一个 网站,使用锚。 JASON HIRSCHHORN:所以你问, 只是笼统,你如何做一个链接? 观众:是啊。 JASON HIRSCHHORN:确定。 该代码制作一个链接 - 观众:没有,像在HTML中。 JASON HIRSCHHORN:羽绒服在这里,你的意思是? 所以,如果我想包括一个链接 某处,说,这是对我的HTML 页面在这里。 这是HTML。 也许这是在打开一个文件,index.html的。 我进去了。 让我们有这个版权约翰 哈佛链接到一些东西。 因此,我们将编辑这一切都为HTML。 你要做的就是包括一个,所以 支架上的接近支架在 开始,然后支架斜线 在最后一个右括号。 所以,现在我已经包括了一个锚标记。 而实际上,如果你点击 出这一点,现在将 格式化编辑为HTML。 并说,我们要联系起来。 我们倒是你href属性。 和我们说 - 现在,当你注意到,版权 约翰·哈佛是蓝色的。 当我翻阅过 它,它现在是一个链接。 所以,你可以编写代码。 你可以环绕几乎任何东西 你想在一个锚标记,并把它 成一个链接。 观众:确定。 得到了它。 JASON HIRSCHHORN:如果我不想 它 - 当然,有时人们往往 想到这些事情,只是看 蓝色笼统,并强调是 不要做一个链接最漂亮的方式。 所以,如果我来这里,您可以看到, 某处在CSS文件中,有 写了这一个,然后 两个花括号。 所以我们可以说,对于链接,我不 希望他们变成蓝色,而我 要链接到的颜色 是这个漂亮的紫红色。 让我们给它的颜色。 让我们挑洋红色。 现在,在我的页面上的所有链接有 成为品红这个漂亮的颜色。 有些人不喜欢的颜色的。 有些人不喜欢下划线。 你来挑。 的链接,您可以风格如何 看一次您访问过他们。 正如你会发现在很多的网页, 链接变成紫色在您访问它们。 您可以更改颜色为好。 是啊。 观众:所以你改变它 对于每一个环节。 但如果你只是想这样做链接 本身,你只是做在ID 底部或东西吗? JASON HIRSCHHORN:那么大的问题。 正如你看到这里,我改变了一些 适用于该CSS的一部分 一切是一个A.如果我想 只是做了链接在底部,我 会去我的CSS文件,并可能 做,就像你说的,散列 底部空间。 而这会给我 一切正如在底部。 或者我可以,或者,给它一个 唯一的ID,然后就做哈希连接。 并且,让我 改变了这一点。 然而,仅仅少量发放的ID不管三七二十一 通常是一个坏 实践中,由于这些 应该是唯一的。 而你越有那些,它 可以得到一个有点混乱。 是啊。 观众:你能不能给同 ID为多个业主? JASON HIRSCHHORN:从技术上讲,是的。 什么也没有去阻止你,但你 不要你应该给它一个类。 好了,其他问题 关于HTML或CSS? 确定。 让我们继续前进到PHP。 哦,是的。 观众:这是什么关于这些 网站,这意味着我们可以编辑 他们才刷新。 但是,一旦我们刷新它恢复 回到初始的HTML? JASON HIRSCHHORN:大问题 - 所以当我们加载了这个 网页,它是HTML。 和它的的JavaScript。 它的PHP执行给我们什么 类型的网站,我们看到的。 和它的创建一些HTML,一些 JavaScript和一些CSS。 那就是现在访问 通过我们的计算机。 而这些文件的副本被保存 当地对我们的电脑, 暂时。 因此,我们可以编辑本地副本。 但当然,我们不是在编辑 服务器副本。 而当我们刷新页面, 我们得到另一台服务器副本。 因此,我们看到的东西 回到原来的。 如果我们能够从这里,编辑 官方网站上,我们就会有很多 的问题。 观众:是的,所以我们可以看 写该副本。 JASON HIRSCHHORN:对。 我们只是做局部的变化在这里, 但同样,探索非常有帮助, 通常情况下。 当我在写我的最后的项目,为 例如,我想看看一些 网站上的东西看看 途中他们做到了。 我会去,并使用此窗格下来 在这里,看看他们给了什么是CSS 它或它们挑什么颜色或如何 得到它,这样,当你徘徊 过东西,名单下来 在一个不错的级联方式。 这是一个伟大的方式来检查什么其他 网站做的,从他们借钱。 让我们进入到PHP。 PHP代表,在递归感, PHP超文本处理器。 和PHP,它会做 是执行代码的服务器端。 因此,我们永远不会看到PHP代码。 然而,它确实很好玩呢 HTML和往往会产生 大量的HTML代码。 但是当你将熟悉的问题 设置7,你的PHP代码将执行, 生成一些HTML,而这正是 用户将最终看到。 PHP是令人难以置信的类似C。 不过,也有一对夫妇的 差异,这些差异 重要的是要注意的。 一个区别是变量 在PHP中是松散类型。 没有任何人有一种感觉, 是什么意思? 观众:没必要给自己投了。 像没有必要在文字写的。 JASON HIRSCHHORN:我不会用 铸字,但肯定的,无需声明 一个类型为特定的变量中。 而不是怎么做,我们声明一个变量? 观众:用一个美元符号。 JASON HIRSCHHORN:使用一个美元符号。 因此$ x是可变的。 1美元是一个变量。 $字符串是一个变量。 这些变量,X元可以 是一个整数。 然后,它可以是一个字符串。 然后,它可能是一个字符。 这其实并不重要。 另外,关于PHP的很酷的事情是, 比方说,$ x是字符串之一。 和$ y是字符之一。 您可以添加$ x和$ y和它会 给你2,你所期望的东西。 因此,有在PHP中操作。 因为它是松散类型的变量, 一些隐式转换为你做 以及一些操作。 你可以在做的事情操作 的不同类型。 而在此之前,你经常会得到一个错误 C语言的说法,这不是类型 这应该去这里。 这种类型的唯一的东西可以去这里。 你不会得到那个类型 错误的,一般来说,在PHP。 所以这是一个很大的不同 - 我们如何处理变数。 第二个大的区别是, PHP代码解释。 WHERES,C代码编译。 那是什么意思? 那么,对于C代码,你就跑 它通过一个编译器。 你生成的二进制文件。 而且你跑了二进制文件。 你之前把所有的错误护理 您生成的二进制文件。 当然,也有可能是 分割故障,当你跑了 二进制文件。 但它不喜欢你忘了,包括 printf的定义,或 你没有使用一个变量,只是 创建一个浪费的变量。 或者你没有定义 函数原型。 所有你编译之前发生。 它给了你所有的错误或坏的 的东西,它认为可能会发生。 然后,你有你的0和 你跑了1个文件。 PHP代码并不喜欢的工作。 你会写你的PHP代码。 然后,你要 保存它,大概。 并至少在P-7集,你会 刷新您的网页浏览器, 你会看到发生了什么。 你会看到输出 那PHP代码。 您还可能看到,在顶部 您的页面,一个错误。 因为你有一些 在你的PHP错误。 您可能仍然会看到其余 网页正在寻找的罚款。 但有一部分是错误的,并有 在那个地方出错。 那是因为那部分 你的PHP代码不起作用。 事实上,当你执行,当你 去像by.php。 它会通过你的PHP 一行行的文件并执行它 然后才是。 它不会编译它提前 时间或编译一个副本,然后给 该编译副本给大家。 每一次,它要经过 一行行并执行它。 因此,一些线路可能工作和 输出正确的东西。 与其他线路可能被打破 并输出一个错误信息。 综上所述,使用PHP调试时,我们已经给 你们几个有用的东西 帮你调试,比如 转储功能。 但通常,你会 看到这些错误。 这就是你如何去 知道你做错了什么。 但你只会看到错误 一旦你真正运行的代码。 PHP的另一个重要方面和 Web开发是GET的想法 与岗位。 谁能解释一下什么区别 之间的GET和POST? 没有人 - 是。 观众:他们难道没有一 让用户看到的数据, 其中一人不? JASON HIRSCHHORN:太好了。 是啊,你有什么要补充的吗? 观众:我瘦职位是 超全局变量。 JASON HIRSCHHORN:中那么这两个 变量是给你的。 这些仅仅是变量。 你知道他们是变量, 因为在这里我 使用美元符号。 这些都是给定的变量 给你的PHP。 而当你的网页之间移动, 要保存一些信息。 你可能想保存,如果 该用户已登录。 这不是保存在GET和POST。 这是保存在别的东西, 一个不同的变量。 任何人都知道这是什么的保存变量 中,或者你用什么变量 P-设为7,以确保 用户登录? $ _SESSION,这是完全正确的, 也许重要的是熟悉 这些东西的名字 你经常使用。 所以你使用会话变量来保存 从页面信息页面。 这是一个超级变数。 它的存在在每一页上,也许像 全局变量,如果你要考虑 它这样。 有一对夫妇的其他变量 允许您传输的信息 从页面到页面。 尤其是,那些我们将重点放在 是GET和POST变量。 在PHP中,它们看起来像 $ _GET和$ _POST。 和区别,因为马库斯指出 出来,他们两个之间是, 在$ _GET信息 显示的URL。 因此,如果我们往下看这里, 我们看到了一个YouTube链接。 我们看到这个问号。 我们看到ν=,然后一些价值。 回到这一想法的关键值 对,v是关键。 而在这里就是价值。 所以,如果我们要到这个页面或者 编码此页面上,我们将有一个 变量$ _GET。 如果我们去了$ _GET开括号“V” 接近支架,非常类似于数组 符号,这是一个关联数组 因为我们没有使用索引。 被使用字符串作为键。 但非常类似的想法。 如果我们去了我们,将得到这个值。 在这个页面,我们就能够 使用此值。 如果我们实际上看,让我们 去YouTube的页面。 我们应该看什么影片? 这其中,被人哈比人球迷? 观众:是的。 JASON HIRSCHHORN:所以我复制 他们分享网址和 将其粘贴在一个新窗口。 而现在,如果你在这里,你会 请注意,再次 - 我要复制并粘贴到 gedit的,所以我们可以看到它做大。 你会发现,它有 这个问号。 问号将指定 在这之后一切都将是 保存在获取变量。 然后,它具有V,这是第一 键,这第一个值。 符号是特殊的。 符号是在说,好吧,我们 完成了第一个值。 我们现在移动到另一个 键值对。 在这里,关键是所谓的功能, 并且该值是youtu.be。 所以,如果我是一个编码这个页面, 有人去这个URL,我有 也许watch.php。 和我在编写这个。 我可以使用$ _GET变量。 我将有一个v和 我想有一个功能。 如果我使用v键,我 会得到这个值。 如果我做了$ _GET支架“功能” 接近支架,我会得到这个值。 再次,它不一定 适用于 - 显然,YouTube的键和值 并获得信息并不适用于 本习题集7。 但有一些事情是我们 通过GET传递我们的习题集7。 当然,当你去一个网页 或编写自己的页面上, $ _GET会派上用场 当你的编码。 什么是一个原因使用$ _GET然后, 如果它可以提供没有隐私? 你看到所有这些信息 这是正在转移。 这一切都显示给用户。 但是,什么是一个原因,你可能 要保存的东西在$ _GET,如 反对的$ _POST? 为什么你可能想要做的是什么? 好的。 我在测验1问你。 什么是$ _GET亲? 什么是1亲? 是啊 - 观众:它更容易 共享信息。 JASON HIRSCHHORN:我觉得 这是伟大的。 它更容易分享信息。 它更容易书签。 现在,您可以收藏, YouTube.com /手表?ν=的东西,去 该特定视频。 如果YouTube的总是做POST请求 不同的页面,每一个YouTube网址 将YouTube.com。 你可以不书签单一的视频。 因为如果你说的共享该链接 与别人,他们不 自动获取您的帖子变量。 他们只是得到这个链接,并在 链接是对谁都一样。 所以这是亲。 它可以让你这个书签 信息或分享这些信息 或让它一点点 更加人性化。 当然,没有隐私, 所以我们这篇文章的变量。 和后信息不 显示的URL。 这不是一个完全私有的。 但它是稍微更私人。 所以你会看到这个网址 到这里,cs50.net。 不论你登录到 网站,这将具有相同的 网址,cs50.net。 很显然,事情是不同的,如果 你登录到该网站。 你有,一,可能是 输入您的PIN。 并且已确认 用服务器。 而且它可能保存 一些其他信息。 但是URL不会改变的。 所以是这样的话,当 事情是由POST发送。 URL不会改变。 这个POST信息不 显示的URL。 但是,一些国家已经变了,也许 有保存在一些信息 POST变量。 抱歉。在我走之前到SQL,任何 关于PHP,特别是问题 对事物的问题,我们没有去 你已经找到或任何语法或 关于PHP的逻辑问题? 确定。 最终的语言,你会 在这个星期的互动是 结构化查询语言SQL, 常常发音续集。 这允许您与互动 数据库中的形式化方法。 它扮演了非常漂亮的PHP。 正如您将在习题集7所见,我们 给你一个叫做查询功能。 它需要一个SQL字符串,并执行 对数据库的查询。 在过去的几年中,你是不是 鉴于此功能。 您必须使用PHP函数来使 数据库和支票,请在查询 的错误,然后得到结果。 而实际上,这并不难, 因为再次,它起着 非常漂亮的PHP。 和PHP提供了大量的功能 与SQL数据库进行交互。 所以很多时候,两者的 这些一起去。 当然,你可以用互动 与任何SQL数据库 其它语言的数目。 但PHP是一个伟大的选择。 数据库 - 我们就去了这个很快,因为 这是我们要去一个时髦词语 开始使用常 - 是表的集合。 因此,我们可以认为它 为Excel文件。 一个Excel文件中有多个选项卡 在屏幕的底部。 每个选项卡,我们现在会打电话给一个表,其中 一个表是行的集合。 什么是行? 嗯,一排是一样的东西 在Excel文件中。 这只是对每个特定的值 特定领域或每个给定列。 这就像在一个表项。 这是一个学生,谁拥有一个ID,一个 特定的ID,和一个特定的名称和 具体的房子。 因此,一个数据库是一个集合 表。 而表本身是一个 行或记录的数目。 还有,在各 表的某些字段。 并指定每个记录是什么 将有,字段有时也被称为 列,但通常称为字段。 在这个非常简单的表,我有三个 域,一个ID字段,用户名 字段,和一个散列字段。 我有三行。 眼下,它们是空的。 他们可能不会是空的 如果这是我的真正的数据库。 所以,如果你已经使用Excel中,类似的想法 什么你在Excel中做,虽然, 很明显,现在我们将能够 做强大得多的事情上 所存储的信息 在我们的数据库。 你将要创建自己一个 数据库习题集7。 但你会创建多个 在数据库中的表。 您将创建一个数据库 或为用户的表。 你也可以创建一个表 大概股票交易,以保持 跟踪它们,因为你需要 实现历史记录功能。 这两个表将有 不同的领域。 例如,在用户现场,你 可能希望自己的用户名和 ID和他们的密码的哈希值。 在库存表跟踪 历史或历史表中,您 可能不需要用户名 和散列和ID。 你可能只需要其中的一个 值是唯一的,联想到 它与给定的用户。 但是,你要存储其他 之类的东西,什么时候 在事务中进行的。 在买入或卖出什么股票? 股票多少股 是买还是卖? 什么是价格在哪个 股票是买还是卖? 所以,再一次,你要进行交互 一个数据库,这是 将有多个表。 每个表都将有 它自己的一套字段。 然而,有可能会出现类似的 字段中的每个表中,该 它们涉及到彼此。 通常,这是一个ID字段。 因为如果每个用户都有一个唯一的ID 和你的ID与每一个相关联 交易用户发出或 所有用户的历史。 和你有用户的ID。 您可以获取信息 从任一台。 你可以得到他们的用户名,你 可以得到所有他们的交易。 关于数据库的任何问题, 或具体问题? 其实,让我们认为。 我们会在那里的两个方面。 因此,有四个操作 您将使用的数据库 习题集7和可能 永远不会使用。 你想要做的第一件事是插入 一个新的记录到一个表或一个 新行插入表中。 这是通用的功能, 通用的形式,SQL查询。 INSERT INTO表,不管列 要插入,然后 那你会想要的值 投入这些列或字段。 如果你有在多表 数据库或多个数据库,您 可能还需要指定数据库 和您想要的表 把事情落实。 但很简单,如果你要插入 到的东西,你说,这里有 我要插入到字段。 和这里的值。 在一些表,也和这个用户的 表是一个很好的例子。 大概在这个用户的表和 大概在P-设置你的用户的表 7,不只是一个用户名的值。 这里不只是一个现金价值, 或现场,而。 此外,还有一个ID字段。 我不打算插入ID字段。 那将给予 我自动,当一个 新记录插入。 因此,有一些领域,你 可以设置为自动的。 也许你想给每个用户 10,000元现金蝙蝠。 所以我不需要插入 多种现金此处。 我只需要插入的用户名。 然后,现金字段将 预填充的,而ID字段将 预先填入。 所以通常情况下,我们不会插入 事到每一个领域,因为 与其他字段中会预先填入。 因为这是我们如何 建立该表。 你要去的第二件事 想要做的是删除一条记录。 删除的东西是很简单的。 你给你想要的表 要删除的东西。 和你说好,我想删除 记录有米洛的用户名。 或者我要删除所有记录的 有米洛的用户名,或者是一个 交易从用户ID号2。 对这些问题的任何 两种类型的查询? 观众:[听不清]。 JASON HIRSCHHORN:是的。 所以我打算使用行和记录 互换和一些 与列和字段。 但有一排是一个记录。 一列是一个字段,将 回到这个表。 确定。 接下来的事情,你很可能 要做的是得到一些 从表中的信息。 这是一个选择查询。 再次,什么表 我会从选择? 而我要选择什么样的列,或 我要选择什么样的价值和 从哪一行? 因此,选择一个特定的一点。 我说好,我想这个表。 然后我希望列名,并 我希望它从ID为2行。 这是做一个选择的一种方式。 或者,我可以说,给我的每一个 单一的用户名。 或者,我可以说,给我一个完整的 从这个表行,其中 用户名是1。 因此,有几种不同的方法来 做选择查询,这取决于如何 你要多的信息, 你永远可以选择一切 从具体的表,然后循环 通过它,挑选出 你想要的东西。 但是要记住,如果你选择 很多事情从一个表和你 有一个非常大的表中,将采取 有一段时间,所以最好只选择 东西,你要去 使用结束了。 此外,随着选择,并与所有这些 其他的SQL命令,以及,我 给你最基本的版本。 但是说,我选择的用户,我想 打印出来的字母顺序, 我可以选择所有用户,然后排序 按字母顺序在我的代码。 或者是有办法写选择 查询时,选择的东西在 按字母顺序排列的方式,根据关闭的 特定的列,以升序或 降。 所以请记住,有很多你 想要做也许可以在做 通过一个附加的查询 属性。 所以,不要仰视这些查询或在线 其他的事情你可以用这些做 查询将其展开。 最后,过去的事情你想做的事 没有东西插入或删除 东西,而是 更新的东西。 以及与该更新完成 查询,并再次,是什么表。 和我想要什么样的变化使? 以及哪一行或记录做 我要做出的改变? 对SQL有问题吗? 确定。 因此,我们有大约15分钟。 这是最后一张幻灯片我有。 并希望,这最后一张幻灯片是一个 良好的塞盖成问题集, 因为理解,我们要 插入记录,删除,选择 他们,并更新他们会帮助我们 明白了较大的逻辑和流程 的习题集7。 所以我知道所有的答案 对这些问题的。 我不会告诉你 所有的答案。 但是,如果别人想 提出了一个问题,到组或 回答这些问题之一,我们可以 使用它作为一个跳点 说说问题集。 或者,如果某人有一个更通用的 关问题的问题集,感觉 免费问那。 我们可以从这里开始。 请记住,你是沉默 是伤害大家。 是啊。 观众:所以是传递的唯一途径 变量,并从不同的网页 页,或最方便的 方式,使用POST或GET? JASON HIRSCHHORN:所以,是的,那就是 最便捷的方式说 - 当 有人填表 - 得到另一个网络信息 页面,使用GET或POST。 因为框架我们使用 在这个问题集,你会发现 是,很多时候,我们 渲染另一个页面。 我们或者我们渲染另一个文件,不 一定另一页。 所以我们在传递一个变量。 然后,它呈现一个 HTML页面时,使用 从该变量的信息。 这在技术上并不传递 之间的信息 不同的网页。 这是传递信息 不同的文件之间。 因此,我们可以使用任何 变量来做到这一点。 但是,是的,如果我们想通过 从一个特定的页面信息 另一页,GET和POST会 要做到这一点的方法。 任何其他问题 问题设置? 确定。 让我们通过,那么,具体的 问题的一部分设置。 你将需要在一个点上, 显示某人的组合上 在屏幕上。 这是什么意思,当我说组合, 在这个问题的上下文中设置? 观众:这就像股票,他们 有他们自己怎么样,多少股, 价格,多少 钱,他们已经离开。 JASON HIRSCHHORN:听起来不错。 所以,我想显示所有的股票 他们拥有每只股票公司 股,大概是多少那 价值,然后一个单独的变量, 多少钱他们自己。 所以说,我想描述。 让我们开始谈论我怎么能 去这样做,我有什么表 将需要有 能够做到这一点。 是啊 - 观众:好用户,然后,我猜 你可以做一个所谓的表 股份或类似的东西,这 会是如何,他们已经买了很多。 JASON HIRSCHHORN:确定。 所以我会需要一个称为表 用户,它记录的 用户名,据推测,可能是一些标识, 可能是一个单独的密码。 什么是别的东西,你 刚才说的关联? 除了迈克尔,什么是人 这与相关的其他东西 每一个用户,他们独有的? 观众:ID。 JASON HIRSCHHORN:ID - 什么是一件事,我们是 可能会想 此页面上显示? 观众:他们的名字。 JASON HIRSCHHORN:他们的名字 - 有什么 另一件事与此相关的 特别是设置的问题? 观众:什么他们拥有的股票 - JASON HIRSCHHORN:有将 有很多他们自己的什么股票。 什么是一个特定的值,虽然, 他们将不得不 与他们有联系? 他们怎样买 并出售他们的股票? 观众:现金。 JASON HIRSCHHORN:他们是 将有现金。 因此,每个用户将不得不 一个值,以换取现金。 而这将是 对于每个用户唯一。 因此在用户的表,它使 感投入现金。 你可以,当然,创建另一个 表具有用户ID和其 的现金价值。 但它没有任何意义。 这是有道理的只是把 所有这一切在一个表中。 所以,我们将有一个表 与该信息。 然后,有什么其他的表 我们会得到什么? 你说,一个种群的表。 什么是我们投入 该股票的表? 任何人,想法 - 观众:该公司。 JASON HIRSCHHORN:我们要去 投入的名字 公司,所以AAPL苹果。 是啊。 观众:有多少股, 他们有多少的价值。 JASON HIRSCHHORN:有多少股, 他们有多少是值得 - 有什么别的东西,我们 需要在该表? 观众:一个用户ID来索引它。 JASON HIRSCHHORN:一个用户名。 因此,在该表中,我们将 可能有 - 比方说,如果是有人谁拥有 三只股票,三排,每 该用户ID或个人用户 ID,但不同的公司名称,一个 不同数量的股份大概, 并为每个不同的价格值 这些股票的。 再次,什么我现在说的是不是 一定的执行情况, 因为你知道有一些 有效的方法来实现它。 但是,这是一个良好的开端。 确定。 因此,这些都是这两个表我们。 现在,我们要显示此页面。 什么是查询中的第一种类型 我们需要做。 在每个页面上,假定是一个用户是 登录后,我们有自己的用户ID。 那么,什么是第一类 查询我们需要做什么呢? 是啊。 观众:他们的用户ID。 JASON HIRSCHHORN:我们有自己的用户ID, 当我们开始代码的 一开始我们的页面。 那么什么是查询我们的第一种类型 需要使给定一个用户的ID? 我们过了四种类型。 这里只有四个可能的答案。 观众:是选择一个记录。 JASON HIRSCHHORN:A选择 - 我们希望从用户的选择 表就搞定了,让我们说, 其数额的现金。 我们可以打印的现金金额 在屏幕的顶部。 确定。 什么是下一个类 查询我们想干什么? 我们有一些其他的东西 我们需要显示。 那些被保存在另一个表中。 那么我们如何得到呢? 观众:你选择它们。 JASON HIRSCHHORN:A选择 - 再次, 只有四个选项。 选择可能的声音 像那个合适的人。 因此,我们需要做的另一个选择查询, 再次使用该用户ID。 而现在,我们要返回的不只是一个 行,BU符合我们的所有行 标准,其中用户ID等于1。 然后我们可以去让一个循环只 打印所有那些在屏幕上, 也许打印出该公司从 每个那些在屏幕上。 太好了,这听起来像这 显示组合,多不了多少 较复杂。 OK,然后用户决定他们 有足够的钱留下来。 他们想买一些 一只股票的股票。 比方说,他们已经拥有 这家公司的股票了。 于是他们去你的购买页面。 他们输入公司的名称。 这是该查询,在输入后的 公司的名字,你需要 执行下一个? 是啊。 观众:更新。 JASON HIRSCHHORN:更新 - 什么 表你要更新? 观众:他们的表,根据 在他们的身份证号码? JASON HIRSCHHORN:所以更新 没有用户的表 - 所以更新库存表,其中 用户ID不能只匹配,但 股票名称也匹配。 你会得到一定的价值。 然后,你要取该值 并添加然而许多股票,他们 想买它。 所以,你不希望盲目 覆盖该值。 但是你可以,​​事实上,采取这种初始 重视和刚刚更新。 你可以做一个加等于, 而不仅仅是一个等号。 是什么东西,但 - 如果我们 想到这一点,我们要 尽可能强大 - 我们应该做的 我们运行之前更新查询? 他们想要买五十年后,​​苹果的。 苹果的每份额为200元。 观众:我们首先应该检查的钱。 JASON HIRSCHHORN:我们应该 首先检查的钱。 我们应该确保他们 有足够的钱。 我们可以执行什么样的查询 确保他们有足够的钱? 观众:另一种选择。 JASON HIRSCHHORN:A选择 - 我们根据他们的用户ID进行选择, 拿到现金的价值。 做一些快速的数学运算。 如果传递鼓起, 他们有足够的现金。 然后我们可以运行我们的更新。 或者,也许,如果不是,我们通过即可。 我们给他们一个警告。 确定。 说他们没有一家公司。 他们买一个新的公司。 他们购买微软。 我们想要什么样的查询做, 如果他们想购买微软? 他们不拥有任何微软。 没有马努,任何人,任何人 除了马库斯? 卡洛斯 - 观众:A选择,以确保 他们有足够的钱。 JASON HIRSCHHORN:听起来不错。 观众:然后你插入 在[听不清]。 JASON HIRSCHHORN:没错,我们是 将要插入 进入股市的表。 我们要去想插入。 我们可以将其用户ID,名字 的公司,以及有多少股 他们想买。 什么是一些其他操作的 为你的网页或功能 将不得不在P-设置来实现 7,我们应该走了过来? 观众:其实,我种得 关于这一个问题。 之前您显示组合,应 您检查雅虎的网站上 确定股票的价格 有没有改变? JASON HIRSCHHORN:这是声音 是个好主意。 那么,什么马库斯说的是,OK,股票 价格是不断变化的。 在自己拥有的表中的股票,我们的 表称为股票,我们可以拯救 股票的价格,他们买了它在。 但这似乎不是那么强劲, 因为股票的价格 不断改变的。 所以,事实上,你可能不需要 保存股票的价格。 但每次你施展 投资组合,你刷新或更新 价的股票。 如果你有 - 你已经。 我知道你一直都在看的 习题回来了。 你已经意识到,我们已经写了 一些代码给你,让你 获得股票的价格, 给定一个公司的名字。 所以,是的,这听起来可能 更强大一点。 但该表并不一定需要 保存股票的价格。 确定。 什么是一些其他的功能你 需要实现这个星期, 我们可以谈? 我想谈谈他们。 你想谈什么? 这也可能是在这个规范。 我只是向下滚动至底部 规范和问我的第一个字 你看,没有任何意义。 另外一个功能 - 让我们来谈谈之一。 我们会从那里开始。 观众:记录的历史。 JASON HIRSCHHORN:录音 历史上,伟大的。 所以你将不得不跟踪 交易的历史。 所以,你要跟踪每一个的 一次,他们买进或卖出股票。 我买我的股票。 我们刚才说了,它很可能是有道理的 包括一个选择,让他们 金额现金回来看看。 它可能是聪明的,然后到包括 插入或更新,这取决于 不管他们是否拥有该股票。 如果我们也想跟踪 一个历史,我们该怎么办呢? 这是否在股票表走? 观众:号 JASON HIRSCHHORN:不,它可能 不用在不同的表。 因为说你买10 苹果公司的股票。 然后你再买10股。 你想拖独立的记录。 这是两个独立的交易。 因此,我们有另一个表中, 一个历史表。 所以,再一次,我们买的。 我们执行一个选择,然后 插入或更新。 我们接下来做什么? 什么是我们执行下一个查询 当我们买东西? 我们想跟踪的历史。 是啊。 观众:你想跟踪 失败的交易了。 JASON HIRSCHHORN:嗯,以前我们 说什么类型的事务, 什么我们要 - 什么类型的查询,卡洛斯,会 让我们来跟踪 事情有什么看法? 你有四个猜测。 哪一个你觉得呢? 观众:更新。 JASON HIRSCHHORN:不更新。 什么是你的第二个猜测? 对象:选择。 JASON HIRSCHHORN:如果你想保持 轨道的东西,你可能想 到它的地方写下来 或将其保存供以后使用。 所以,如果不更新,那么 - 观众:插入它。 JASON HIRSCHHORN:插入,我们走吧。 是的,所以您选择的金额 现金他们,声音很大。 他们没有足够的现金。 该交易是行不通的。 不,你不需要保持跟踪 如果它不工作的事务。 或者你可以,如果你想 给他们一个困难时期。 但你不必。 然后,您插入或更新 在他们的库存表。 而现在,你有你的其他表。 你有你的历史表或 无论你怎么称呼它。 并在该表中,你会 插入一个新行。 这可能将 有用户的ID。 它可能将不得不 股票的名称。 它可能将不得不 一时间,他们做到了。 在这种情况下,你就可能 要插入的价格。 因为对于一个历史,你不 关心目前的价格是什么。 你关心的价格是什么时候 他们买或卖的东西。 所以它听起来像,落实购买 充分涉及多个不同 SQL查询,但说实话,不 这么多代码的整体。 确定。 而这需要历史的照顾。 比方说,我们要 显示我们的历史。 我们谈到展示 我们的产品组合。 我们将如何展示我们的历史? 观众:大概时间顺序。 JASON HIRSCHHORN:据推测 按时间顺序 - 你觉得什么疑问我们会使用? 听众:一个选择。 JASON HIRSCHHORN:一个选择 - 选择也许所有从该表中的行 相匹配的用户ID,然后 显示它们按时间顺序, 听起来不错。 我们需要编写代码来 通过列表进行排序? 观众:没有,因为你告诉 我们有一个上升 和降序的事情。 JASON HIRSCHHORN:事? 观众:是啊。 JASON HIRSCHHORN:是啊。 好了,不要在代码中转向我, 手动排序,通过你的查询, 对它们进行排序。 已经给该代码。 你可以写一个Select查询 进行排序的东西。 他们事先进行排序和 然后打印出来。 它使这么多情理之中的事 这种方式,比其他方式。 是。 观众:我们是否需要 事先对它们进行排序? 这是否意味着你排序 他们在数据库中? JASON HIRSCHHORN:SELECT查询 他们返回到您排序。 这样做,而不是仅仅让他们 返回到您在随机顺序 然后自己对它们进行排序。 是啊。 观众:有没有一种方法来保持它 分类在数据库本身,使 不必进行排序 它的每一次你 - 观众:你能否将它插入排序的? JASON HIRSCHHORN:问题 - 这很重要的事情 分类在数据库中? 观众:号 JASON HIRSCHHORN:嗯, 它们进行排序。 他们是按时间顺序排序。 但是,让我们假定事物进行排序 按时间顺序,从上到下。 我们有一个谷歌的形式。 每当有人回应我们的谷歌 形成的,它只是被放在 该表的底部。 这有什么关系,事情 排序不按时间顺序? 观众:如果不是按时间顺序, 不要你有充分的时间来排序呢 你把信息了。 但是,如果它已经排序,可以吗 不必做额外的 函数调用? JASON HIRSCHHORN:所以这是 实际上是一个很好的点。 我们作为程序员, 它可能无关紧要。 而我们可能希望找到一个数据库 不理清头绪 按时间顺序。 或者设置我们的数据库,所以它保持 东西整理按用户ID。 所以这种方式,比方说,我们有 1,000用户ID。 或Facebook,我们拥有数百万 的用户ID。 我们不希望我们的表只是 随机或我们的数据库是随机的。 这将是很好,如果所有的 用户ID进行排序。 这样的话,我们可以运行的二进制搜索 在我们的表,然后只要找到 具体块。 所以,是的,这取决于 - 如果我们扩大规模, 我们可能希望找到一个数据库 即把每一件事情整理在不同的 方式,使这些查询 将需要更少的时间。 而我们没有经过我们 在每一个单列整个数据库 给定表。 但水平在我们正在努力,我们 不必担心保持 东西整理。 我们可以假设,所花费的时间 该查询运行将是 可以忽略不计,因为什么 我们正在处理。 但是,是的,伟大的想法 - 因为我们扩大规模, 它可能是有意义的设计我们 数据库在一个有点不同的方式。 最后一个数据库设计的东西我想 提为好,因为你会 进行分级,或得分相当,上 数据库的设计。 我们谈到了这一点。 现金是唯一的每个用户。 所以,你有一个表叫了现金 有他们的用户ID和金额 现金,然后一个名为表 用户有自己的用户 ID和他们的用户名。 这些表映射到每个 其它1至1。 它很可能是有道理的, 他们是一个表。 因此,让我们假设你有一个用户 表跟踪 用户名和现金。 您现在有,有一个表 股票的个人拥有。 和一个人可能拥有 以上的股票了。 所以,这些不映射到 相互一至1。 这是没有意义的有一个巨大的 表中有30个的记录 所有重复的用户名,即所有 重复输入密码,所有的 重复了一些现金。 但每个人都有可能是不同的股票 名称或不同的股票价格。 这是没有意义的有 许多大型记录。 是聪明的,当你创建这些有关 数据库,所以,你是不是在做 一些愚蠢的那样,重复 很多不必要的信息。 确定。 我们有两分钟时间。 外面的人很高兴能够加入 我们甚至可能,大概, 开始他们自己的类。 没有任何人有任何疑问, 之前,我们完成了? OK,这的确是一个旋风 通过一切。 我很抱歉,这不得不如此快 而且,我们不能因为动手 这个星期我会一直 喜欢过。 但如果你有任何问题, 我们走过去任何事或任何东西 这个问题的设置 - 假设你已经读过它,并把 在一个善意的努力 - 请随时给我发电子邮件或与我联系。 我很乐意工作,通过 与您或回答您的任何代码 问题,你有。 请记住,本周,很多 你的时间会花在学习 新的语法,并试图了解 如何编写SQL查询或PHP 功能或处理 一个MVC框架。 很多这一周可能是你的时间 不会试图找出该 疯狂的逻辑,我们是 要求你这样做。 很多它我们刚刚走过去的是 相对简单。 因此,这并不意味着等待 直到最后一分钟。 但它确实意味着调整你如何做你的 相应的工作,以确保 你的理解和 学习的语法。 所以,你没有,突然,不知 你想到底该怎么做, 但不知道如何 正是写。 好吧,我会看到你下周。