JASON Hirschhorn: Chào mừng tất cả mọi người với tuần tám. Chúng tôi có một tuần thú vị ở phía trước. Các bạn đã chim bồ câu trong vài vừa qua các bài giảng PHP, SQL, HTML, CSS, vì vậy bốn thương hiệu mới ngôn ngữ mà sẽ để mất phần còn lại khóa học này. Chúng tôi cũng sẽ tìm hiểu một vài khác tiếng trước khi kết thúc quá trình của. Nhưng dù sao, không cần phải nói, đây là một thời gian rất thú vị trong CS50, bây giờ bạn đã làm chủ C, bề ngoài, và chuyển sang lập trình cho các trang web. Vì vậy, trong tuần này, chúng ta sẽ đi trên một tour du lịch cơn lốc qua bốn ngôn ngữ tôi chỉ đề cập đến, HTML, CSS, PHP, và SQL. Và hy vọng, chúng ta sẽ để lại rất nhiều Hiện tại cuối phần nói chuyện về P thiết lập trong tuần này và câu trả lời bất kỳ câu hỏi tất cả các bạn có. Mỗi tuần, cùng một danh sách các nguồn tài nguyên cho bạn, để giúp bạn trong tuần vấn đề thiết lập và đi trong tài liệu - nhưng tuần này đặc biệt cho các bộ vấn đề dựa trên web, có một loạt các nguồn lực khác ra có mà bạn sẽ có khả năng tìm vô cùng hữu ích. Tôi có họ ở đây. Tôi sẽ gửi email cho bạn này sau khi phần, và điều này cũng được trực tuyến. Nhưng đặc biệt, có rất nhiều nguồn lực của lớn ra khỏi đó. Ngoài ra còn có một số không tuyệt vời như vậy những người, vì vậy hãy cảnh giác với những người. Nhưng trên slide này, tôi có bốn tốt tài nguyên, một cho mỗi ngôn ngữ mà bạn sẽ làm việc với tuần này - một tờ tài liệu tham khảo cho HTML, một tờ tài liệu tham khảo cho CSS. Quyền này ở đây là hướng dẫn PHP. Vì vậy, thay vì gõ người đàn ông và sau đó một PHP lệnh, đây là nơi mà bạn sẽ đi để tìm kiếm các chức năng nguyên mẫu và các ví dụ và cũng có một số lời khuyên và thủ thuật để sử dụng chức năng PHP. Bạn sẽ sử dụng trang web này thường xuyên, vì vậy tôi khuyến khích bạn trở thành quen thuộc với nó. Nó có thể được một chút kỹ thuật, nhưng nó cũng cung cấp một tấn các nguồn lực và ví dụ cho tất cả các chức năng và thậm chí khác, như làm thế nào để sử dụng các mảng hoặc các loại khác nhau của các biến. Trang web này là rất hữu ích cho PHP. Và sau đó, cho SQL, nếu bạn lao vào này vấn đề thiết lập tuần, bạn sẽ biết mà chúng ta đang sử dụng một cơ sở dữ liệu. Và chúng tôi truy cập vào cơ sở dữ liệu thông qua một giao diện người dùng tương đối tốt đẹp. Hoặc đó là một cách để truy cập rằng cơ sở dữ liệu. Giao diện người dùng gọi là phpMyAdmin. Có một tab SQL, chúng ta sẽ nhìn vào cuối ngày hôm nay. Và bạn có thể gõ vào mẫu SQL của họ truy vấn, để làm những việc trong cơ sở dữ liệu của bạn và sau đó chạy các câu truy vấn. Và nếu họ đúng, nó sẽ nói chính xác của một này. Nếu họ không chính xác, nó sẽ nói rằng, đó là không chính xác. Đó là một nơi tuyệt vời để thực hành của bạn Truy vấn SQL trước khi viết chúng vào mã của bạn, chắc chắn rằng bạn có định dạng chính xác. Cuối cùng, một trang web khác trên đây. Đây là trang web nơi bạn có thể đi và kiểm tra để chắc chắn rằng bạn HTML code là hợp lệ. Vì vậy, trước khi chuyển vấn đề của bạn thiết lập tuần này, làm cho tất cả chắc chắn HTML của bạn là hợp lệ. Tuần trước, bạn đã chạy valgrind, để chắc chắn rằng bạn không có rò rỉ bộ nhớ. Tuần này, bạn cần phải chắc chắn rằng tất cả mã của bạn là HTML5 hợp lệ. Nếu nó không hợp lệ HTML5, bạn sẽ nhận được chỉ ra. Vì vậy, hãy chắc chắn - chỉ vì nó hoạt động không có nghĩa là nó hoàn toàn hợp lệ. Chạy mã của bạn thông qua trang web này trước khi chuyển nó vào Một lần nữa, đây là trang web. Nếu bạn có bất kỳ thông tin phản hồi cho tôi, chúng tôi có một vài phần nhiều còn lại, và tôi luôn luôn muốn làm những gì tôi có thể để cung cấp tất cả các bạn với phần tốt nhất kinh nghiệm có thể. Vì vậy, cho tôi biết nếu có bất cứ điều gì tôi có thể làm để cải thiện hoặc nếu có những điều bạn thấy rằng tôi có thể làm tốt hơn. Cảm ơn bạn, Avi. Đặt nó trên trang web. Đây là chiếc xe đạp tôi đã có khi tôi được, chúng ta hãy nói, bốn ở nhà. Đó là một Ninja Rùa Teenage Mutant đi xe đạp, trong trường hợp bạn không thể nói, bởi vì đó là một chút mờ. Bạn có thể lấy nó tại ToysRUs cho, tôi nghĩ rằng, khoảng $ 100. Nhưng các tính năng của chiếc xe này mà tôi muốn bạn phải chú ý đến là các ngay tại đây. Đây là những bánh xe đào tạo. Cho đến bây giờ, bạn đã cầm tay thông qua C. Và chúng tôi đã lấy một dài thời gian, hai tháng cộng, đi qua C. Đối với những cặp vợ chồng tiếp theo của ngôn ngữ, chúng tôi sẽ không dành nhiều thời gian. Các bánh xe đào tạo được sắp tắt. Và chúng ta sẽ đi sâu vào các tiếng một cách nhanh chóng và di chuyển qua chúng một cách nhanh chóng, mà không phải là để nói rằng chúng ta chỉ cần đi để lại cho bạn bơi ra khỏi đó với không có cách nào để hỗ trợ bản thân hoặc tìm ra cách các ngôn ngữ làm việc. Tôi chỉ cho các bạn một danh sách các nguồn lực để giúp bạn. Nhưng hãy nhớ rằng PHP là vô cùng tương tự như C. Chúng tôi sẽ đi qua nó ngày hôm nay và một số khác biệt. Nhưng đối với hầu hết các phần, có cho các vòng. Nếu có điều kiện. Khi bạn muốn giải quyết một vấn đề, bạn sẽ sử dụng một sự kết hợp của những người. Nó rất giống nhau. Logic nên rất giống với những gì bạn đã làm trong quá khứ. Những gì thực sự mới trong tuần này là cú pháp và cách bạn thể hiện bản thân. Và bạn muốn viết một vòng lặp, nhưng nó có thể nhìn một chút khác nhau. Hoặc bạn muốn tạo ra một mảng, nhưng nó có thể nhìn một chút khác nhau. Vì vậy, hãy nhớ rằng, di chuyển về phía trước, logic là rất giống với những gì bạn đã làm trong quá khứ. Nhưng bây giờ bạn sẽ được gặp phải rất nhiều cú pháp mới. Và chúng tôi sẽ không hướng dẫn bạn qua tất cả các yếu tố của cú pháp. Vì vậy, nó thực sự lên đến bạn để tìm ra, trực tuyến hoặc thông qua tiếp cận trên Thảo luận hoặc gửi email cho tôi hay nói chuyện với nhau, làm thế nào để viết những điều trong PHP và làm thế nào để viết các truy vấn SQL và làm thế nào để sử dụng HTML và CSS. Nhưng chỉ để bạn biết, nó không phải là chúng tôi đang cố gắng để ném bạn ra khỏi đó một lần nữa để bơi cá mập. Đây là những gì bạn có thể sẽ làm với dự án cuối cùng của bạn, nếu bạn chọn một ngôn ngữ khác nhau, như IOS và Mục tiêu C, hoặc nếu bạn quyết định để bắt đầu lập trình trong tương lai và đi sâu vào các ngôn ngữ khác, như Python hay Ruby. Thông thường, logic là rất giống nhau trên tất cả các ngôn ngữ, và cú pháp là những gì khác nhau. Và nó sẽ được vào bạn, như các lập trình viên, để đi sử dụng web các nguồn lực có sẵn cho bạn và con số hiểu làm thế nào để thể hiện những gì bạn biết làm thế nào thể hiện trong C, trong một ngôn ngữ khác nhau. Vì vậy, đây là thực hành tốt, cho cả bạn dự án cuối cùng, và một lần nữa, cho những gì bạn có thể sẽ làm sau khi rời CS50. Trước khi chúng tôi di chuyển trên, không ai có thắc mắc về những gì Tôi đã thực hiện cho đến nay? Tuyệt vời. Chúng ta hãy chuyển. Đầu tiên, chúng ta sẽ nói ngắn gọn về lệnh chmod. Này, chúng tôi sẽ làm khi bắt đầu các vấn đề của bạn thiết lập. Một trong các hướng dẫn đầu tiên cho bạn, sau khi bạn tải về đang phân phối, là thay đổi quyền của các tập tin và thư mục bạn nhận được. Ai cũng có thể liên đoán hoặc biết lý do tại sao điều quan trọng là thay đổi quyền của tập tin nhất định và thư mục trên máy tính của bạn? Avi - ĐỐI TƯỢNG: Sau đó, không ai ngoại trừ bạn có thể xem những gì bạn đang làm? JASON Hirschhorn: OK. Vì vậy, nếu chúng ta muốn đặt một cái gì đó trên web và bạn đã thiết lập cấp phép mà duy nhất bạn có thể nhìn thấy một cái gì đó, sau đó không ai khác có thể xem những gì bạn đã tạo ra. Những gì khác? Yeah. ĐỐI TƯỢNG: Ngăn chặn bất cứ ai mà bạn không muốn nhìn thấy một cái gì đó, từ nhìn thấy một cái gì đó. JASON Hirschhorn: Đó là sự thật cũng có. Có lẽ một số mã bạn viết, mà bạn không muốn mọi người nhìn thấy. Có lẽ bạn đang OK với những người nhìn thấy HTML và JavaScript. Nhưng PHP của bạn, một mã kết thúc trở lại, rất nhiều logic để mã của bạn, có thể điều mà lưu trữ một số các mật khẩu của bạn cho cơ sở dữ liệu của bạn, bạn không muốn mọi người thấy rằng loại thông tin. Vì vậy, điều quan trọng là, mỗi tập tin và thư mục, chúng tôi tạo ra có quyền truy cập áp dụng hay không chúng ta muốn mọi người nhìn thấy những loại tập tin và thư mục và có thể truy cập chúng và có khả năng thậm chí thay đổi chúng. Vì vậy, có ba loại các điều khoản. Có một sự cho phép đọc, mà phương tiện bạn có thể đọc một tập tin hoặc một danh sách nội dung của thư mục. Có sự cho phép ghi, mà có nghĩa là bạn có thể thay đổi một tập tin hoặc thay đổi một thư mục và sau đó thực hiện sự cho phép, có nghĩa là bạn có thể thực hiện một tập tin hay đúng hơn, bạn có thể di chuyển vào một thư mục. Vì vậy, CD một cái gì đó, nếu bạn có sự cho phép để thực hiện nó, bạn có thể di chuyển vào thư mục đó. Đây là một ví dụ ngắn gọn. Một lần nữa, bạn đã vượt quá này trong vấn đề thiết lập. Nhưng tôi có thể tạo một thư mục với lệnh mkdir. Tôi thay đổi quyền. Hai dòng thực sự làm cùng một điều chính xác. Đó là để minh họa rằng cú pháp cho cho phép thay đổi, cho dù bạn làm a + x hoặc 711, những người đều giống nhau. Chúng ta nhìn xuống bàn đẹp này. Chúng ta thấy rằng có những người sử dụng quyền đầu tiên. Đó là bạn, các cá nhân, và máy chủ của bạn, có khả năng. Và sau đó có nhóm và những người khác. Sự khác biệt giữa những hai là tương đối nhỏ. Vì vậy, nói chung, chúng tôi sẽ gộp những người cùng nhau. Nhưng về cơ bản, nếu chúng ta có một tập tin gọi là có mà chúng tôi muốn có có thể chỉnh sửa chúng ta và chúng ta muốn những người khác để có thể thực hiện, đó là cho phép 711. Và chúng ta thấy rằng xuống ở đây trong bảng này. Chúng tôi có một đọc, viết, và thực hiện. Đối với mỗi người chúng ta, chúng ta muốn có thể làm những người. Nhóm và những người khác, chúng tôi chỉ muốn họ có thể thực hiện. Cách chúng ta dịch là thành một số cho phép là thông qua nhị phân. Vì vậy, nếu chúng tôi có ba người, đó là một 1 trong cột cái, 1 trong twos cột, một cột 1 của bốn chân. Đó là 7 ngay tại đó. Và sự cho phép này là 1. Sự cho phép này là 1. Vì vậy, khi 711 là giống như cho mình đọc, viết, và thực hiện, và những người khác thực hiện quyền. Dòng này ngay tại đây, chúng tôi thường có quyền đọc và viết khi chúng tôi tạo ra một thư mục. Vì vậy, dòng này đây chỉ cần thêm thực hiện đặc quyền cho tất cả mọi người. Vì vậy, đó sẽ là giống như, trong Ngoài những gì chúng ta có, thêm 1, 1, 1 để tất cả mọi người. Trong khi đó, nó không cần thiết thêm đọc và viết. Nhưng nếu bạn đang sử dụng các con số, bạn không thể chỉ cần thêm một cái gì đó. Bạn ghi đè lên bất cứ điều gì cho phép là ở đó và thực hiện chúng với các mới số bạn đưa ra. Đó là khá nhanh chóng. Không ai có bất kỳ câu hỏi về việc thay đổi quyền truy cập? OK. Nếu tôi có một file PHP, cấp quyền Tôi muốn nó có? Đây là trong spec vấn đề thiết lập. Vì vậy, bạn có thể nhìn vào spec và sau đó đọc cho tôi câu trả lời. ĐỐI TƯỢNG: Bạn muốn người dùng có quyền đọc và ghi. Và bạn muốn tất cả mọi người khác không có gì. JASON Hirschhorn: Và những gì số là? ĐỐI TƯỢNG: 600. JASON Hirschhorn: 600. Vì vậy, chmod 600 - bất cứ khi nào bạn in một file PHP, chmod nó đến 600. OK. Tôi có một thư mục. Ai đó bên cạnh Jeff, Tôi có một thư mục tập tin. Cấp quyền Tôi muốn để cung cấp cho thư mục đó - cũng trong vấn đề thiết lập thông số, ngay bên dưới câu trả lời hay các câu trả lời trước? Cũng có khả năng trên slide - Marcus. ĐỐI TƯỢNG: Đối với các thư mục, đó là 711. JASON Hirschhorn: 711 - do đó, một thư mục, bạn muốn cung cấp cho 711. Bạn muốn để có thể đọc thư mục đó, thay đổi thư mục, di chuyển vào thư mục đó. Và bạn muốn tất cả mọi người khác để có thể để điều hướng trong thư mục đó, nhưng không nhất thiết phải thay đổi nội dung của nó. Những gì về một tập tin không PHP, nói, một tập tin JavaScript? Cấp quyền nào chúng ta muốn để cung cấp cho rằng loại tập tin? ĐỐI TƯỢNG: 644. JASON Hirschhorn: 644 - tại sao chúng ta muốn cho nó 644? ĐỐI TƯỢNG: Để cho người khác đọc nó. Và bạn đọc hoặc viết nó. JASON Hirschhorn: Vì vậy, ngay, tất cả mọi người khác có thể đọc mà nộp JavaScript. Và bạn có thể thay đổi điều đó, ngoài để có thể đọc nó. Vì vậy, một trong những lỗi phổ biến nhất người có vấn đề này thiết lập và họ dự án cuối cùng, nếu đó là một thức dựa trên web dự án, họ sẽ không có thiết lập điều khoản chính xác. Và họ sẽ không thể để xem trang web của họ. Hoặc một phần cụ thể của trang web của họ. Vì vậy, hãy chắc chắn rằng bạn thiết lập quyền một cách chính xác. Không chỉ là giả định rằng nó sẽ làm điều đó tự động cho bạn. OK. Đó là một điều nhỏ mà chúng tôi đã dành một số lượng tốt thời gian trên, vì vậy chúng ta có thể móng tay nó. Chúng ta hãy chuyển sang HTML. Và một lần nữa, cho bốn chủ đề tiếp theo, chúng ta sẽ đi qua chúng tương đối nhanh chóng. Vì vậy, xin vui lòng dừng lại cho tôi bất cứ lúc nào thời gian, nếu bạn có bất kỳ câu hỏi, cho dù họ đang liên quan đến những gì tôi trải hoặc một cái gì đó từ bài giảng hoặc thậm chí từ vấn đề thiết lập. Dừng lại cho tôi bất cứ khi nào bạn cần. Khi chúng tôi nhận được để kết thúc, chúng tôi sẽ chỉ bắt đầu đi qua các bộ vấn đề. Vì vậy, HTML là viết tắt cho HyperText Ngôn ngữ đánh dấu. Nó không phải là một ngôn ngữ lập trình. Tất cả nó là cấu trúc nội dung của bạn và cũng cung cấp một số siêu dữ liệu. Vì vậy, ví dụ, có lẽ, rất nhiều bạn đã sử dụng Facebook trước. Và bạn có thể bao gồm các liên kết trong, hoặc bạn có thể đặt một liên kết như tình trạng của bạn. Và sau đó, bạn sẽ nhận thấy liên kết luôn luôn có một hình ảnh tốt đẹp với nó và một số văn bản. Nói chung, đó là một số siêu dữ liệu cho một trang web. Và đó là siêu dữ liệu Facebook cụ thể. Và sau đó, khi Facebook đang đọc mà trang và chèn liên kết đó, nó tìm kiếm siêu dữ liệu cụ thể, vì vậy nó biết những gì để hiển thị hình ảnh, những gì tiêu đề để hiển thị, và những gì văn bản trừu tượng để hiển thị. Vì vậy, chúng ta có thể bao gồm siêu dữ liệu với trang web của chúng tôi sử dụng HTML. Và nó cũng giúp chúng ta cấu trúc nội dung, nói chung, những gì chúng ta muốn đi đâu. Tất cả mọi thứ trong HTML là một yếu tố. Và các yếu tố ngay tại đây - CS50 này, văn bản là phần tử. Và nó có một số thẻ. Nó có này một thẻ. Và chúng tôi nhận thấy có một một tại bắt đầu và sau đó một dấu gạch chéo một, vì vậy đóng một thẻ ở cuối. Đôi khi, có không phải là một mở thẻ và một thẻ gần. Chỉ có một điều. Chúng ta sẽ thấy một ví dụ về điều đó trên slide tiếp theo. Vì vậy, bạn không cần phải mở và một tag đóng. Nhưng cho điều này, chúng tôi được bọc này Yếu tố CS50 trong một thẻ neo. Và về cơ bản, các thẻ nói trình duyệt phải làm gì với các yếu tố cụ thể. Vì vậy, một lần nữa, CS50 là văn bản chúng ta sẽ thấy. Và nó là có được một loại neo. Neo chủ yếu được sử dụng các liên kết đến một cái gì đó. Đặc biệt, như bạn có thể đã nói, đây là một liên kết đến trang chủ CS50. Phần tiếp theo của thẻ - hay nói chung, một phần của thẻ là thuộc tính. Và chúng ta thấy ở đây, mà các thẻ có một thuộc tính, thuộc tính href này. Và họ sửa đổi một thẻ cụ thể. Trong thực tế, nếu bạn đi đến một trong những các trang web hoặc các tài liệu tham khảo tôi đã cho bạn trước hoặc tìm kiếm các thẻ trực tuyến, bạn sẽ nhận thấy có một tấn thuộc tính tiềm năng. Đây có lẽ là một trong những phổ biến nhất. Đây là nói cho tôi để tạo ra một liên kết đến các trang web cụ thể. Và các thuộc tính thường được đưa ra, nếu không độc quyền nhất định, trong cặp giá trị khóa. Vì vậy, đây là chìa khóa, href. Và giá trị là quyền này ở đây. Và điều đó sẽ có ích sau này, khi chúng tôi bắt đầu sử dụng một số thư viện để giúp chúng tôi mã trong JavaScript hoặc viết nội dung HTML. Chúng ta thường sẽ được - giống như chúng ta sẽ làm khung mảng 0 và sẽ cung cấp cho chúng tôi một số giá trị. Trong tương lai, chúng tôi sẽ làm rất nhiều những thứ như khung một cái gì đó href. Và đó sẽ cho chúng ta những giá trị của href, hoặc nếu chúng tôi muốn cập nhật href chính và sau đó cung cấp cho nó một giá trị cụ thể. Vì vậy, giống như với các mảng mà chúng tôi đã phím 0 hoặc phím 1 hoặc phím 2 hoặc thậm chí với một băm bảng, tốt, với các bảng băm của bạn là tốt, bạn có thể có - nó là một mảng, vì vậy phím 0, phím 1, phím 2. Chỉ số đó, chúng ta có thể nghĩ về điều đó như một chìa khóa. Và giá trị là bất cứ điều gì được lưu trữ ở đó. Tất cả các thuộc tính là cặp giá trị khóa. Và điều đó sẽ rất quan trọng cho việc thay đổi họ hoặc cập nhật hoặc chèn chúng sau này. Cuối cùng, bạn đã nhìn thấy cấu trúc này trước đây, nhưng đây là cơ bản nhất cấu trúc của trang HTML. Ở phía trên, chúng tôi cho bạn biết rằng này là trong thực tế HTML. Và sau đó chúng ta có một HTML mở thẻ và một thẻ HTML gần. Vì vậy, tất cả mọi thứ bên trong đây là HTML. Chúng ta thấy người đứng đầu và cơ thể. Người đứng đầu của tài liệu của bạn thường bao gồm những gì? Bất kỳ dự đoán cho những gì bạn đặt vào đầu? ĐỐI TƯỢNG: Bạn đặt tiêu đề và phong cách. JASON Hirschhorn: Tiêu đề. Đó là một đoán tuyệt vời. Tôi có thể nghiêng bạn ra đến. Một số thứ khác là gì? Chúng tôi đề cập một trong số họ có thể đi vào đầu. ĐỐI TƯỢNG: Ông cho biết, phong cách. JASON Hirschhorn: Styles - vì vậy nếu bạn muốn liên kết trong một JavaScript hoặc thậm chí một CSS, mà bạn đang nói khi bạn đang nói chuyện về phong cách. Một tập tin, bạn muốn liên kết trong một bên ngoài tập tin, mà có lẽ sẽ đi trong đầu. Những gì khác? Chúng tôi đề cập đến một vài slide trước một trong những điều mà HTML có thể làm cho bạn. Nó có thể cung cấp - bắt đầu với một M - ĐỐI TƯỢNG: Siêu dữ liệu. JASON Hirschhorn: Siêu dữ liệu - vì vậy rất nhiều của siêu dữ liệu sẽ đi vào đầu, vì đó sẽ không nhất thiết cần là một phần của cơ thể của mã của bạn. Đó là nói chung - cơ thể là nội dung, những gì ai đó nhìn thấy. Và vì vậy tôi chỉ cho đi câu trả lời cho câu hỏi tiếp theo của tôi. Nhưng trong cơ thể nói chung là nội dung đó sẽ được hiển thị trên trang web. Như chúng ta sẽ thấy, các trang web phức tạp có xu hướng hoà nhập hoặc thay đổi những gì họ đặt ở đầu và cơ thể. Nhưng nói chung, người đứng đầu có điều mà người sử dụng sẽ không nhìn thấy trên màn hình. Nó liên kết trong các tập tin khác và cung cấp siêu dữ liệu. Trong khi đó, cơ thể chứa tất cả mọi thứ người sử dụng sẽ thấy. Bất kỳ ý tưởng những gì thẻ p này có nghĩa gì? ĐỐI TƯỢNG: Đoạn? ĐỐI TƯỢNG: In. ĐỐI TƯỢNG: Không có nghĩa là in. ĐỐI TƯỢNG: Có nghĩa là đoạn? JASON Hirschhorn: Đoạn - vì vậy đây là một đoạn văn. Và thẻ p này, tôi có thể chỉ cần gõ này trên màn hình và sau đó bao gồm ngắt dòng tại kết thúc của nó. Ai biết làm thế nào để bao gồm ngắt dòng? ĐỐI TƯỢNG: pr - JASON Hirschhorn: pr - ĐỐI TƯỢNG: Slash pr? JASON Hirschhorn: dấu gạch chéo pr là viết tắt của ngắt dòng. Nhưng đoạn văn có cụ thể định dạng. Và chúng tôi sẽ nhận được định dạng trong một thứ hai, khi chúng ta nói về CSS. Nhưng tất cả mọi thứ bên trong các thẻ p sẽ có một số định dạng mặc định liên kết với nó, có lẽ một số khoảng cách giữa khác nhau đoạn văn. Và nó sẽ là một cách để phân biệt khối mã. Bất kỳ thẻ khác - thẻ khác mà bạn đã nhìn thấy là gì? JASON Hirschhorn: h1 qua h6. h1 qua h6, và những gì vậy? ĐỐI TƯỢNG: Nó sẽ biểu thị lớn như thế nào và đậm các chữ cái được. JASON Hirschhorn: Đúng, nó là viết tắt của tiêu đề. Và do đó header1 là một tiêu đề lớn. Nó sẽ có thể, theo mặc định, được in đậm, một cỡ chữ lớn, có thể tập trung vào màn hình, tất cả các con đường xuống h6, mà là một kích thước phông chữ nhỏ hơn, ít hơn nhấn mạnh. Tất nhiên, bạn có thể, trong bạn tập tin CSS hoặc một nơi nào đó trong mã của bạn - trong đó, một lần nữa, chúng tôi sẽ nhận được rằng trong một giây - thay đổi những gì hành vi mặc định một thẻ h1 là. Nhưng hãy nhớ rằng Chrome, Safari, Firefox, Internet Explorer đều có mặc định tìm kiếm rất nhiều các thẻ tiêu chuẩn. Bạn có thể, một lần nữa, luôn luôn thay đổi những gì họ trông như thế nào. Bất kỳ thẻ khác mà tất cả mọi người đã nhìn thấy? Yeah - ĐỐI TƯỢNG: Một trang web div. JASON Hirschhorn: Một thẻ div - div tag không có bất kỳ định dạng tích hợp, mỗi se, được sử dụng để ngăn chặn tắt loại khác nhau của mã. Bất kỳ thẻ khác? Vâng. ĐỐI TƯỢNG: li - JASON Hirschhorn: li - li cho là những gì? ĐỐI TƯỢNG: Danh sách. ĐỐI TƯỢNG: Danh sách JASON Hirschhorn: li là cho các yếu tố danh sách. Có hai loại danh sách. Hai loại là gì? ĐỐI TƯỢNG: thứ tự và có thứ tự. JASON Hirschhorn: Đặt hàng và không có thứ tự - khán đài để ul cho danh sách có thứ tự. Đó là nếu bạn muốn có một viên đạn chỉ, một danh sách các viên đạn. Một danh sách đặt hàng là một danh sách số. Và do đó bạn sẽ làm một thẻ ul mở và sau đó tấn của các yếu tố danh sách và sau đó đóng thẻ ul. và điều đó sẽ tạo ra một danh sách có thứ tự. Chúng ta sẽ thấy một số ví dụ HTML trong một chút. Nhưng trước đó, tôi muốn để có được CSS. Và CSS là viết tắt của Cascading Style Sheets. Và điều này là rất có liên quan chặt chẽ HTML nhưng hơi khác nhau. Điều này giúp bạn định dạng tất cả các nội dung các cấu trúc HTML. Vì vậy, trong CSS, chúng ta thường không muốn phong cách mỗi tiêu đề duy nhất hoặc tất cả hình ảnh hay mỗi đoạn duy nhất. Chúng tôi muốn tạo kiểu một số yếu tố hoặc có thể là một yếu tố cụ thể. Và cách chúng ta tạo kiểu một cụ thể yếu tố là để cho nó một ID. Vì vậy, đây là một thuộc tính. Nó có một chìa khóa và một giá trị. ID là chìa khóa. Logo là giá trị. Tôi chọn biểu tượng ngẫu nhiên. Và nếu bạn cung cấp cho một cái gì đó một ID, nói chung, mà chỉ nên được thực để một phần tử. Và sau đó, trong bảng phong cách của bạn, bạn có thể phong cách mà yếu tố đặc biệt, tuy nhiên bạn muốn nó để xem xét. Nếu bạn muốn tạo kiểu một số yếu tố, có thể đó là một tầng lớp nhất định các tiêu đề, chỉ có một số tiêu đề của bạn. Có lẽ đó là một tiêu đề và một hình ảnh và một đoạn tất cả các bạn muốn được làm trung tâm. Sau đó, bạn có thể cung cấp cho các nhóm các yếu tố tất cả các lớp. Và bạn có thể cung cấp cho các lớp học phong cách cụ thể. Vì vậy, một ID và một lớp hai cách để phá vỡ mã của bạn, vì vậy bạn có thể giúp được cụ thể hơn trong những gì bạn phong cách. Có ba cách để tạo kiểu. Người đầu tiên là, với thuộc tính phong cách này. Vì vậy, bạn thấy, chính phong cách là phong cách. Giá trị thực sự là phong cách một danh sách giá trị quan trọng. Trong trường hợp này, tôi đã chọn một chìa khóa, text-align. Và tôi đã nói, trung tâm. Bạn có thể tự hỏi tại đây điểm, làm thế nào tôi biết về text-align. Điều đó thậm chí làm những gì? Đó là một câu hỏi lớn để hỏi, và chúng ta sẽ đạt được điều đó trong một giây. Vì vậy, đó là một cách để tạo kiểu một cái gì đó, chỉ cần cho nó thuộc tính phong cách. Một cách khác để tạo kiểu một cái gì đó là - đây là Akshar đề cập trước đó. Bạn có thể sử dụng các thẻ phong cách và đặt mà vào đầu của tài liệu HTML của bạn. Vì vậy, về cơ bản bạn đang nói, các nội dung bên trong đây là một số nội dung phong cách. Và định dạng cho đó là điều bạn muốn phong cách và sau đó, bên trong dấu ngoặc nhọn, cặp giá trị quan trọng của các thuộc tính mà bạn muốn cung cấp cho loại hình cụ thể của nguyên tố. Cuối cùng, và đây là Cách phổ biến nhất. Và đây là cách chúng tôi làm điều đó trong bộ p 7. Nó là một sheet bên ngoài. Vì vậy, bạn có một tập tin css.. Và bên trong của nó, bạn sẽ thấy rất nhiều điều mà nhìn như thế này, tên của một số loại phần tử hay một ID hoặc một lớp và sau đó, bên trong xoăn niềng răng, một danh sách các cặp giá trị quan trọng. Tất nhiên, nếu bạn tạo một bên ngoài tập tin, bạn sẽ cần phải bao gồm nó - sắc nét bao gồm, mà có thể là tương tự C - trong tập tin HTML của bạn. Vì vậy, bạn phải bao gồm này mã trong tập tin HTML của bạn. Đây là tên của tập tin và giả định đó là trong cùng một thư mục. OK. Đó là rất nhiều. Và bây giờ chúng ta sẽ thở và tìm tại một số thực tế, trang web trực tiếp và khám phá nhiều hơn này. Nhưng trước khi chúng tôi làm điều đó, không ai có thắc mắc? Vì vậy, nếu bạn muốn làm điều này cùng với tôi, chúng ta có thể đi vào thiết bị. Và tôi đã chọn trang chủ CS50. Bạn có thể làm điều này với bất kỳ trang web. Nhưng tại sao chúng ta không bắt đầu với trang chủ CS50? Hãy làm mới. Tôi thực sự khuyên bạn nên làm này cùng với tôi, bởi vì những gì chúng tôi sẽ làm bây giờ là có được cực kỳ tiện dụng cho bạn, không chỉ trong P-Set 7, nhưng trong P-Set 8 là tốt. Yeah. ĐỐI TƯỢNG: Có một cách để làm bình luận trong HTML, mà không cần sử dụng PHP? JASON Hirschhorn: Có, bạn có thể thực hiện ý kiến ​​trong HTML. ĐỐI TƯỢNG: cú pháp là gì? ĐỐI TƯỢNG: dấu chấm than dấu gạch ngang gạch ngang. ĐỐI TƯỢNG: OK. JASON Hirschhorn: Có. Đó là cú pháp. Bạn có thể đưa ra nhận xét trong HTML. Bạn có thể đưa ra nhận xét trong PHP. Như bạn sẽ thấy, nhận xét trong HTML sẽ vẫn còn hiển thị, khi chúng ta nhìn vào Mã nguồn HTML của một trang web cụ thể. Vì vậy, cs50.net này. Nếu bạn kích chuột phải vào hiện đại nhất trình duyệt trên hầu hết các trang bất kỳ, bạn xem mã nguồn trang web. Vì vậy, hãy làm điều đó trên CS50. Và lo và kìa, chúng tôi thấy một điều khổng lồ. CS50 thực sự trông khá đẹp. Rất nhiều trang web sẽ không nhìn đẹp này. Nếu bạn đi đến trang chủ của Google và mở nó lên. Nó sẽ không nhìn tốt đẹp. Nhưng bạn nhận thấy rằng, ở đầu - đây là loại nhỏ. Hãy làm cho lớn hơn này. OK. Ở phía trên, DOCTYPE HTML, đó là quen thuộc. Sau đó, chúng ta thấy các thẻ HTML mở và người đứng đầu, ngay tại đây, tất cả các thẻ meta. Và bạn có thể thấy og này, không sẽ đi vào đó bây giờ. Nhưng tôi gần như tích cực ở đó những người sẽ là Facebook. Đó thực sự là Facebook. Tôi nghĩ rằng là viết tắt của đồ thị mở. Vì vậy hãy nhớ, tôi đã đề cập đến có Siêu dữ liệu Faceboook cụ thể bạn có thể cho đến một trang. Đó là những gì là đúng đây. Vì vậy, khi bạn liên kết trang này trên Facebook, hình ảnh nó sẽ hiển thị là hình ảnh này ngay tại đây. Và bạn thực sự thấy rằng nó Facebook, bởi vì nó hình ảnh Facebook. Nhưng dù sao, chúng tôi nhận được qua một bên. Vì vậy, chúng tôi có một số thẻ siêu dữ liệu ở đây. Chúng tôi thấy tiêu đề CS50. Và một lần nữa, tiêu đề là những gì diễn ra ở đây trong tab trình duyệt. Chúng tôi thấy điều này là liên kết trong, ngay tại đây, một tập tin JavaScript bên ngoài. Chúng tôi đã không nói về JavaScript nhiều, nhưng tuần tới - và chắc chắn nếu bạn đang làm là một vấn đề thiết lập dựa trên web, bạn sẽ sử dụng JavaScript. Đây là cách bạn liên kết trong ngoài JavaScript tập tin. Chúng ta thấy ở đây, cuối cùng, CSS phong cách, những tài liệu này phong cách của mã này. Hãy để nhân thực sự mở mà lên và có một cái nhìn thực sự nhanh chóng. Điều này có vẻ điên rồ. Không có cách nào tôi sẽ được có khả năng đọc thông qua. Vì vậy, bạn có thể thực sự mặc dù, nếu bạn có một cái nhìn, bạn có thể loại thấy rằng có - có chúng tôi đi. Trông giống như một cái gì đó chúng ta đã thấy trước, màu nền, thiết lập nó bằng một số giá trị màu đỏ-xanh-xanh. Công cụ này loại không nên có vẻ là nước ngoài, mặc dù, khi trình bày như thế này, nó có thể được một chút áp đảo. Chúng tôi sẽ không nhìn vào file CSS này hoặc dành nhiều thời gian vào nó, bởi vì đó là, một lần nữa, rất khó đọc. Chúng ta hãy quay trở lại này Trang HTML cho CS50. Và chúng ta hãy di chuyển xuống cho cơ thể. Và bên trong chúng ta thấy thẻ div này. Chúng ta thấy một tiêu đề ở đây. Chúng ta thấy thẻ neo. Và yếu tố danh sách này là cho một lớp học cụ thể. Và chúng ta thấy lớp đó lặp đi lặp lại hơn và hơn nữa. Có bạn là Curtis. Có những nhận xét trong HTML5. Và khi bạn nhận thấy, chúng ta vẫn có thể thấy nó, nhưng nó không hiển thị. Nó thực sự rất thú vị. Có vẻ như danh sách điểm này yếu tố là nhận xét ra. Nếu chúng tôi đi đến trang này, một lần nữa, nó vẫn xuất hiện ở đó, vì vậy thú vị. Ồ, đó là lý do tại sao, bởi vì của dòng tiếp theo này. Những gì khác để chúng ta thấy quan tâm? Phần còn lại của điều này là khó hiểu hơn, trong đối phó với một nửa quyền này của trang web, đó là một chút phức tạp hơn chút. Vì vậy, đây là những gì một số HTML sẽ như thế nào. Đối với tôi, mặc dù đây là một chút áp đảo, và điều này không giúp tôi nhiều. Tuy nhiên, có một điều gì đó không, trên thực tế, giúp đỡ tôi rất nhiều. Và đó là những gì tôi sử dụng bất cứ khi nào tôi cố gắng tìm hiểu làm thế nào một cái gì đó trông cách nó, hoặc làm thế nào có thể Tôi thay đổi trang web của tôi. Và đó là một công cụ phát triển được xây dựng vào Chrome. Vì vậy, nếu bạn đi đến này ba thanh ngay ở đây và đi xuống vào các công cụ bấm vào Công cụ phát triển, một cửa sổ nhỏ sẽ bật lên ở dưới cùng của trang. Và đặc biệt, Chrome, vì nó là tuyệt vời, sẽ định dạng và cửa sổ này lấy HTML và làm cho nó trông đẹp hơn rất nhiều cho bạn. Vì vậy bây giờ nó thực sự một số đóng mở HTML mà bạn có thể khám phá để kiểm tra các yếu tố của trang. Nếu chúng ta muốn nhìn vào cơ thể, nó thực sự nổi bật. Khi bạn di chuyển trên một phần của HTML, xuống trong cửa sổ này, nó sẽ làm nổi bật các phần nó đang nói về trong cửa sổ lớn. Vì vậy, hãy để tôi một lần nữa cố gắng và thổi này lên một chút. OK. Vì vậy, hãy mở cơ thể. Và tôi đang di chuyển trên trái div này. Và bạn nhận thấy rằng nó làm nổi bật nửa bên trái của màn hình. Vì vậy, hãy bấm vào đó và mở rộng đó. Bên trong của nó, có vẻ như có hai divs. Có div đầu tiên này. Tôi không thấy rằng đánh dấu. Tôi không biết, nhưng có vẻ như thế này thứ hai, bên trái bên trong, là nội dung ở phía bên trái của màn hình. Sau đó có điều này được gọi là tiêu đề. Có vẻ như đó là làm nổi bật phần CS50. Nếu chúng ta mở mà lên, chúng tôi thấy rằng nó không có gì hơn tiêu đề 1. Nó được đưa ra một ID, và nó trao CS50 văn bản. Vì vậy, một lần nữa, nhìn vào nó thông qua này giao diện điều khiển hoặc sử dụng các công cụ phát triển cửa sổ ở dưới cùng của màn hình làm cho khám phá trang web này, hy vọng, một ít hơn rất nhiều đáng sợ và rất nhiều dễ tiếp cận hơn. Nó cũng cho phép chúng ta hiểu rằng trang web này, mặc dù nó có vẻ rất khá và tốt đẹp, không phải là tất cả những gì nhiều hơn những gì bạn sẽ được làm trên vấn đề Set 7. Và điều này là hoàn toàn trong vòng khả năng của bạn để tạo ra. Nếu chúng ta muốn - điều mát mẻ khác về việc sử dụng các công cụ này là, nếu bạn kích chuột phải vào tiêu đề, bạn có thể chỉnh sửa HTML. Vì vậy, chúng ta hãy gọi nó là Jason. Và bây giờ bạn sẽ nhận thấy tôi đã thay đổi HTML trên trang này. Tất nhiên, tôi đã không thay đổi nó vĩnh viễn. Nếu tôi làm mới trình duyệt của tôi, sau đó nó sẽ quay trở lại với HTML gốc. Nhưng đôi khi tôi muốn gỡ lỗi mã của tôi, và tôi không muốn nhìn chỉ có tôi cửa sổ gedit và cố gắng hiểu những gì đang xảy ra. Tôi muốn xem những gì sẽ xảy ra trực tiếp. Vì vậy, tôi sẽ chỉnh sửa mã như thế này và nhận được nó theo cách tôi muốn nó trông. Và sau đó tôi sẽ làm cho các thay đổi trong mã của tôi. Và tôi thấy rằng nó dễ dàng hơn rất nhiều khi bạn có thể làm những điều ngay lập tức, như thế. Nói, một lần nữa, chúng tôi muốn thực hiện một cơ hội, bởi vì chúng tôi đang khai thác với HTML và CSS ngay bây giờ. Tôi có thể chỉnh sửa HTML ngay bây giờ. Và tôi sẽ bao gồm một liên kết. Vì vậy, tôi sẽ thay đổi nhà CS50 của trang, vì vậy nó sẽ liên kết đến - chúng ta hãy nói - trang chủ của tôi. Tên là gì, nếu ai nhớ lại, hoặc thuộc tính tôi muốn cung cấp những gì đến một tab neo khi tôi muốn nó để liên kết ở một nơi khác? ĐỐI TƯỢNG: href? JASON Hirschhorn: href - Vì vậy, bây giờ, bạn sẽ thấy rằng có là một gạch dưới dưới Jason. Đó là bởi vì Chrome, theo mặc định, cho neo một gạch dưới. Bạn đã có thể thấy rằng trước khi bạn đã đi đến một trang web. Những điều đó là liên kết được gạch dưới và màu xanh lam. Phong cách mặc định cho một liên kết là thường nhấn mạnh và đặt nó màu xanh lam. Nếu tôi không thích điều đó, Tôi có thể thay đổi điều đó. Và chúng tôi sẽ thay đổi nó trong một giây. Nhưng bây giờ, cũng nhận thấy rằng, nếu tôi đưa chuột trên này, ở phía dưới bên trái của màn hình, ngay phía trên các yếu tố từ là các liên kết mà tôi đã cho nó. Vì vậy, nếu tôi đã bấm vào đây - và chúng ta có thể kích chuột phải vào điều này, mở một tab mới. Đây không phải là thực sự trang chủ của tôi. Nó chỉ là tên của tôi. Có bạn đi. Bây giờ chúng tôi đã biến nó thành một liên kết. Hãy cùng khám phá một số CSS là tốt. Điều đẹp - và tôi sẽ thực hiện điều này một chút nhỏ hơn - khoảng giao diện điều khiển này là, tấm CSS điên chúng ta đã thấy trước đây, đó là thực sự khó khăn để phân tích, bây giờ là đẹp đặt ra cho chúng ta ở phía bên trái của cửa sổ này. Vì vậy, chúng ta có thể xem xét. Và nếu chúng ta mở rộng tab phong cách này, chúng tôi có thể xem tất cả các phong cách khác nhau có liên quan, trong trường hợp này, yếu tố đặc biệt này, điều này yếu tố liên kết. Nếu chúng ta làm tab phong cách hợp chất, mà chỉ cho chúng ta thấy, không phải là nơi tất cả mọi thứ đến từ, nhưng về cơ bản tất cả các phong cách đang hoạt động trên yếu tố đặc biệt này ngay bây giờ. Và chúng ta hãy nói, chúng tôi muốn để thay đổi nó một chút. Vì vậy, đây là tất cả các phong cách mà hoạt động trên yếu tố đặc biệt này. Nói rằng chúng ta muốn thay đổi nó, bởi vì chúng tôi muốn xem làm thế nào một cái gì đó trông. Và chúng tôi chỉ chơi xung quanh ngay bây giờ. Hoặc chúng tôi muốn thử nghiệm một cái gì đó, trước khi viết nó trong mã và đẩy nó và làm cho nó sống. Chúng ta có thể đi đến tab phong cách. Và trong hộp đầu tiên nói, element.style. Và ở đây, bạn có thể chèn, bạn có thể thêm một cái gì đó. Vì vậy, tôi muốn - chúng ta hãy đi đến liên kết của tôi và thiết lập màu nền. Và nó thực sự Tự động điền cho bạn, tất cả các thuộc tính có thể. Màu nền, và tôi muốn để làm cho màu xanh. Blus không phải là một từ. Màu xanh là một từ. Tôi đã nhìn thấy nó đi lên? Oh, đó là bởi vì nó trong href? OK. Vì vậy, tôi không thấy bất kỳ thay đổi ở đây. Và đó là bởi vì, nếu chúng ta làm nổi bật liên kết, bạn sẽ nhận thấy rằng các liên kết không thực sự kiểm soát tính chất của yếu tố đặc biệt này. Nó thực sự, nếu chúng ta mở liên kết, tiêu đề này ở đây đó là kiểm soát những gì nó trông như thế nào. Vì vậy, nếu tôi muốn làm cho nền màu xanh, tôi thực sự phải thay đổi màu nền trên yếu tố tiêu đề. Và bây giờ chúng ta thấy rằng nền là màu xanh. Vì vậy, một lần nữa, điều này một cách nhanh chóng có thể đi thông qua các tài liệu này khá nhanh chóng. Nhưng điều này về cơ bản là những gì bạn sẽ được làm. Nó không phải là vấn đề về Set 7, nhưng chắc chắn khi bạn mã hóa trên web. OK. Tôi muốn làm cho nền màu xanh. Mặc dù, trong trường hợp này, màu xanh trông khá xấu xí. Tôi có thể đi ở đây, chơi xung quanh. Tôi thấy rằng việc thay đổi nó sang màu xanh không làm việc trên một. Tôi phải thực sự thay đổi tiêu đề yếu tố bao gồm các màu xanh nền. Và sau đó, nếu sau đó tôi quay trở lại CSS của tôi tập tin, làm thế nào để thực sự thiết lập này nền là màu xanh và thực hiện thay đổi thanh này? Bởi vì nếu chúng tôi nhận thấy nếu tôi làm mới trang, tất cả những thay đổi tôi đã mất hết. Vì vậy, tôi nhận ra rằng, OK, tôi nền là màu xanh. Tôi cần phải đi vào yếu tố đó header1 và thay đổi màu nền sang màu xanh. Làm thế nào để thực sự làm cho sự thay đổi đó? Vâng, nhớ lại rằng, nếu chúng ta đi vào bên trong đây, tiêu đề này, tiêu đề có một ID. Và đó là tiêu đề. Và như vậy trong tập tin CSS của chúng tôi, có thể nói, OK, có bất cứ điều gì với ID của tiêu đề và cung cấp cho nó bất động sản bổ sung này. Làm thế nào để chúng tôi tham khảo một cái gì đó với ID của tiêu đề, bất kỳ ý tưởng, hoặc bất cứ ai biết làm thế nào chúng ta tham khảo ID trong file CSS của chúng tôi? Một băm, đó là chính xác. Và bạn có một gợi ý về điều đó ngay tại đây. Vì vậy, nơi nào đó trong file CSS này, có dòng mã này - # # Trái trái bên trong # header # title. Và nó đem lại cho nó dưới lề, xác định đáy biên độ này yếu tố cụ thể. Vâng, nếu tôi muốn thay đổi điều đó, Tôi sẽ đi vào tập tin CSS này. Và tôi có thể tìm thấy điều này hoặc một phần của tập tin CSS. Hoặc tôi có thể viết riêng của tôi. Tôi có thể làm xoăn cú đúp danh hiệu băm và sau đó nền màu xanh ruột kết dấu chấm phẩy và gần đó ngoặc móc. Và đó sẽ thay đổi nền màu sắc của yếu tố này sang màu xanh. Lý do họ cung cấp cho bạn rất nhiều ở đây là đó, nó là cần thiết trong trường hợp này, bởi vì tiêu đề là một ID duy nhất. Nhưng những gì bạn có thể làm những việc tổ là. Vì vậy, đây là nói, OK, đi bên trái. Đó là rất nhỏ. Tôi xin lỗi vì điều đó. Nhưng đi đến điều với ID trái. Trong đó, tìm điều với ID trái bên trong. Bên trong cái nhìn đó, tìm kiếm điều với tiêu đề ID. Trong đó, tìm kiếm điều Tiêu đề ID và thay đổi tiêu đề ID. Vì vậy, đây chỉ là một cách điều làm tổ. Một số người thích làm tổ nó, bởi vì nó làm cho nó một chút rõ ràng hơn. Bạn sẽ thấy ở đây cũng có, ngay ở đây, không có băm. Nó chỉ là h1. Đó là bởi vì h1 được cho tên của một thẻ chung. Và có một số thuộc tính CSS liên kết với mỗi h1 duy nhất. Vì vậy, nếu tôi tìm thấy h1 khác trên trang này, Tôi cũng thấy rằng phong cách này là áp dụng cho nó là tốt. Nếu tôi muốn áp dụng một phong cách cho một lớp học, làm thế nào để tôi tham khảo một lớp hoặc nói về một lớp trong một file CSS? ĐỐI TƯỢNG: Dot. JASON Hirschhorn: Đó là với một dấu chấm. Vì vậy, chúng ta hãy quay trở lại trang này trước đây. Nếu tôi làm ID băm. Đó là thay đổi phong cách trong những điều với ID. Hoặc xin lỗi, nếu tôi làm biểu tượng băm, đó là tìm kiếm điều với ID của biểu tượng và cho nó một phong cách CSS cụ thể. Nếu tôi làm điều gì đó hàng đầu., Đó là việc tìm kiếm tất cả mọi thứ với các lớp trên và thay đổi phong cách của mình. Nếu tôi chỉ đơn giản là h1, mà tìm thấy tất cả các h1 đơn và cho nó bất cứ điều gì phong cách tôi muốn cung cấp cho nó. Nếu tôi làm không gian h1 và sau đó hàng đầu.. Mà sẽ đi tìm tất cả các H1S và sau đó tất cả những người thân với lớp trên và sau đó chỉ thay đổi những phong cách để bất cứ điều gì tôi muốn cung cấp cho nó. Và một lần nữa, chúng ta có thể viết một số này của chúng ta. Nhưng chúng tôi đã không nhận rằng đến nay. Tốt hơn nhiều, nó có vẻ thực sự đi trên một trang web thực sự sống và xem như thế nào họ làm điều đó và nhìn vào tất cả các những điều tuyệt vời bạn có thể làm. Hãy xem xét thêm một trang web trước khi chúng tôi di chuyển trên. Và điều này là một trong đó bạn sẽ có thể trở nên quen thuộc với. Đây là CS50 Tài chính. Vì vậy, một lần nữa, bạn có thể thực sự đi vào và quan sát file CSS này của bạn máy tính, bởi vì bạn đã tải về này Tập tin CSS, nếu bạn tải về các vấn đề thiết lập. Chúng ta có thể vào Tools và Công cụ phát triển. Và chúng ta thấy một bố trí HTML đơn giản hơn nhiều. Chúng tôi có đầu, giữa và dưới. Và một lần nữa, một cái gì đó bạn sẽ có quen thuộc, bởi vì bạn đã nhìn thông qua các mã phân phối cho vấn đề của tuần này thiết lập. Trên cùng là, mỗi mã, một hình ảnh duy nhất được gọi. Và đó là nguồn gốc của hình ảnh. Nói rằng tôi đã hoàn thành tất cả những gì Tôi muốn cho vấn đề Set 7. Và nó làm việc một cách chính xác, nhưng Tôi muốn thay đổi nó trông như thế. Và tôi muốn thay đổi nền của trên cùng của trang để, Ví dụ, màu xanh. Nếu là tôi, tôi sẽ đến trong đây và tìm ra, OK gì Tôi muốn thay đổi. Chúng ta hãy xem, div ID hàng đầu, mà vẻ như trên cùng của trang. Vì vậy, chúng ta hãy đi đến đó. Hãy thử thay đổi màu nền. Chúng ta hãy đi làm Alice màu xanh, bởi vì đó là một đẹp hơn. Và bạn sẽ nhận thấy rằng - có thể bạn không thể thấy điều đó. Nhưng có một ánh sáng màu xanh, cùng với logo CS50. Chúng ta hãy thay đổi nó thay vì màu đỏ. Và bạn sẽ nhận thấy bây giờ tôi chỉ cần thay đổi màu nền thành màu đỏ. Vì vậy, bây giờ tôi sẽ đi vào tập tin CSS của tôi và # gõ dấu ngoặc nhọn trên cùng bên phải ở đây. Bạn sẽ nhìn thấy mã ngay ở đây, đôi xoăn. Và sau đó, tôi sẽ thêm nền màu sắc, màu đỏ. Và sau đó, có sẽ là một cú đúp xoăn. Vì vậy, đó là cách tôi sẽ khám phá và thử nghiệm với định dạng trên CS50 Trang web tài chính. Tôi có thể làm điều đó ở đây và kiểm tra nó ra trên trình duyệt của tôi. Và sau đó, tôi có thể đi vào mã thực tế của tôi và thực hiện những thay đổi đó sẽ thực sự đi trực tiếp và mọi người thực sự nhìn thấy, nếu họ đã đến trang web cụ thể của tôi. OK. Đó là rất nhiều. Tôi xin lỗi vì đi qua nó một cách nhanh chóng. Không ai có bất kỳ câu hỏi tại tất cả về HTML hoặc CSS? ĐỐI TƯỢNG: Bạn có thể chỉ cần đi qua như thế nào bạn liên kết những gì đã trở thành Jason, một lần nữa? JASON Hirschhorn: Điều gì Bạn có nghĩa là liên kết? ĐỐI TƯỢNG: Bạn được cung cấp một liên kết đến một trang web, bằng cách sử dụng neo. JASON Hirschhorn: Vì vậy, anh lại hỏi, chỉ dẫn chung, làm thế nào bạn tạo một liên kết? ĐỐI TƯỢNG: Vâng. JASON Hirschhorn: OK. Mã để làm một liên kết - ĐỐI TƯỢNG: Không, như trong HTML. JASON Hirschhorn: Xuống đây, bạn có nghĩa là gì? Vì vậy, nếu tôi muốn bao gồm một liên kết một nơi nào đó, nói rằng, đây là HTML trên của tôi trang ngay tại đây. Đây là HTML. Có lẽ đó là mở một tập tin, index.html. Tôi đi in Chúng ta hãy có bản quyền này John Harvard liên kết đến một cái gì đó. Vì vậy, chúng tôi sẽ chỉnh sửa tất cả điều này dưới dạng HTML. Tất cả các bạn làm là bao gồm một, vì vậy ngoặc một khung chặt chẽ tại các bắt đầu, và sau đó khung dấu gạch chéo một dấu đóng ngoặc ở cuối. Vì vậy, bây giờ tôi đã bao gồm một thẻ neo. Và trên thực tế, nếu bạn nhấp trong số này, nó sẽ bây giờ định dạng nó như chỉnh sửa HTML. Và nói, chúng tôi muốn liên kết nó. Chúng tôi muốn bạn thuộc tính href. Và chúng ta nói - Và bây giờ, khi bạn nhận thấy, bản quyền John Harvard là màu xanh. Và khi tôi di chuyển trên nó, bây giờ là một liên kết. Vì vậy, bạn có thể viết mã. Bạn có thể bao quanh khá nhiều bất cứ điều gì bạn muốn trong một thẻ neo và biến nó vào một liên kết. ĐỐI TƯỢNG: OK. Đã nhận nó. JASON Hirschhorn: Và nếu tôi không muốn nó - tất nhiên, đôi khi mọi người có xu hướng để suy nghĩ những điều mà chỉ cần nhìn màu xanh quát và nhấn mạnh là không phải là cách đẹp nhất để tạo một liên kết. Vì vậy, nếu tôi đến đây, bạn thấy rằng, ở đâu đó trong một tập tin CSS, có viết một này và sau đó hai dấu ngoặc nhọn. Vì vậy, hãy nói rằng, cho các liên kết, tôi không muốn họ trở thành màu xanh, chứ không phải tôi muốn màu sắc của một liên kết đến có màu đỏ tươi đẹp này. Chúng ta hãy cho nó màu sắc. Hãy chọn màu đỏ tươi. Bây giờ, tất cả các liên kết trên trang của tôi có trở thành màu sắc đẹp này màu đỏ tươi. Một số người không thích màu sắc ở tất cả. Một số người không thích gạch dưới. Bạn có thể chọn. Với các liên kết, bạn có thể tạo kiểu như thế nào trông giống như khi bạn đã truy cập chúng. Như bạn sẽ nhận thấy trên rất nhiều các trang, liên kết tím trên bạn truy cập chúng. Bạn có thể thay đổi màu sắc đó là tốt. Yeah. ĐỐI TƯỢNG: Vì vậy, bạn thay đổi nó cho mỗi liên kết duy nhất. Nhưng nếu bạn chỉ muốn làm liên kết chính nó, bạn sẽ chỉ làm trong ID dưới cùng hoặc một cái gì đó? JASON Hirschhorn: câu hỏi Vì vậy, tuyệt vời. Khi bạn nhận thấy ở đây, tôi đã thay đổi một số một phần của CSS áp dụng cho tất cả mọi thứ đó là một A. Nếu tôi muốn chỉ làm điều đó liên kết ở phía dưới, tôi sẽ đi đến tập tin CSS của tôi và có lẽ làm giống như bạn nói, băm không gian dưới một. Và rằng sẽ cung cấp cho tôi Như tất cả ở phía dưới. Hoặc tôi có thể, cách khác, cung cấp cho nó một ID duy nhất và sau đó chỉ cần làm liên kết băm. Và đó sẽ cho phép tôi để thay đổi điều này. Tuy nhiên, chỉ nhỏ giọt ID dù muốn dù không nói chung là một xấu thực tế, bởi vì những phải là duy nhất. Và bạn càng có những người, nó có thể nhận được một chút bối rối. Yeah. ĐỐI TƯỢNG: Bạn có thể cho cùng ID để nhiều chủ sở hữu? JASON Hirschhorn: Về mặt kỹ thuật, có. Không có gì đang xảy ra để ngăn chặn bạn, nhưng bạn nên không Bạn nên cung cấp cho nó một lớp. OK, bất kỳ câu hỏi khác về HTML hoặc CSS? OK. Chúng ta hãy chuyển sang PHP. Ồ, có chứ. ĐỐI TƯỢNG: nó là gì về những các trang web đó có nghĩa là chúng ta có thể chỉnh sửa chúng trước khi chúng tôi làm mới. Nhưng khi chúng tôi làm mới nó trở lại trạng sao cho HTML ban đầu? JASON Hirschhorn: Great câu hỏi - khi chúng tôi đã tải này trang web, đó là HTML. Và đó là JavaScript. PHP của nó được thực hiện để cung cấp cho chúng tôi bất cứ điều gì loại trang web mà chúng ta thấy. Và nó tạo ra một số HTML, một số JavaScript, và một số CSS. Và bây giờ có thể truy cập bằng máy tính của chúng tôi. Và một bản sao của các tập tin được lưu cục bộ trên máy tính của chúng tôi, trong thời gian này. Vì vậy, chúng ta có thể chỉnh sửa bản sao địa phương. Nhưng tất nhiên, chúng tôi không chỉnh sửa bản sao máy chủ. Và khi chúng tôi làm mới trang, chúng tôi nhận được một bản sao của máy chủ. Và vì vậy chúng tôi thấy những điều trở lại như họ. Nếu chúng tôi có thể, từ đây, để chỉnh sửa trang web chính thức, chúng tôi có rất nhiều của các vấn đề. ĐỐI TƯỢNG: Vâng, vì vậy chúng tôi có thể đọc và viết bản sao đó. JASON Hirschhorn: Đúng vậy. Chúng tôi chỉ làm thay đổi cục bộ ở đây, nhưng một lần nữa, rất hữu ích để khám phá, đôi khi. Khi tôi đang viết dự án cuối cùng của tôi, cho Ví dụ, tôi muốn xem một số trang web làm một cái gì đó nhìn cách họ đã làm. Tôi sẽ đi vào và sử dụng cửa sổ này xuống ở đây, nhìn vào những gì họ đã cho CSS để hay màu gì họ đã chọn hoặc làm thế nào họ đã nhận nó như vậy đó, khi bạn quét trên một cái gì đó, danh sách đi xuống trong một tầng thời trang đẹp. Đó là một cách tuyệt vời để kiểm tra những gì khác trang web làm và vay từ họ. Chúng ta hãy chuyển sang PHP. PHP là viết tắt của, trong một ý nghĩa đệ quy, PHP Hypertext Processor. Và PHP, những gì nó sẽ làm gì là thực thi mã phía máy chủ. Vì vậy chúng tôi sẽ không bao giờ nhìn thấy mã PHP. Tuy nhiên, nó chơi độc đáo với HTML và thường tạo ra rất nhiều mã HTML. Nhưng như bạn sẽ quen thuộc với vấn đề Thiết lập 7, mã PHP của bạn sẽ thực hiện, tạo ra một số HTML, và đó là những gì người sử dụng sẽ kết thúc nhìn thấy. PHP là cực kỳ tương tự như C. Tuy nhiên, có một vài sự khác biệt, và những khác biệt rất quan trọng cần lưu ý. Một khác biệt là các biến trong PHP đang lỏng lẻo. Không ai có một ý nghĩa những gì có nghĩa là? ĐỐI TƯỢNG: Không cần phải bỏ nó cho mình. Như không cần phải viết trong văn bản. JASON Hirschhorn: Tôi sẽ không sử dụng dàn diễn viên từ, nhưng có, không cần phải khai báo một loại cho một biến cụ thể. Làm thế nào thay vì chúng ta khai báo một biến? ĐỐI TƯỢNG: Sử dụng một dấu đô la. JASON Hirschhorn: Sử dụng một dấu đô la. Vì vậy, $ x là một biến. $ 1 là một biến. $ String là một biến. Các biến, $ x có thể là một số nguyên. Sau đó, nó có thể là một chuỗi. Sau đó, nó có thể là một nhân vật. Nó không thực sự quan trọng. Ngoài ra, điều thú vị về PHP là, nói, $ x là chuỗi một. Và $ y là một trong những nhân vật. Bạn có thể thêm $ x và $ y, và nó sẽ cung cấp cho bạn 2, những gì bạn mong muốn. Vì vậy, có hoạt động trong PHP. Bởi vì nó lỏng lẻo biến, một số đúc ngầm được thực hiện cho bạn và một số hoạt động. Bạn có thể làm hoạt động vào những thứ các loại khác nhau. Trong khi trước đó, bạn thường nhận được một lỗi trong C nói, đây không phải là loại đó là nghĩa vụ phải đi đây. Chỉ những loại này có thể đi đây. Bạn sẽ không có được loại mà lỗi, nói chung, trong PHP. Vì vậy, đó là một sự khác biệt lớn - làm thế nào chúng ta đối phó với các biến. Sự khác biệt lớn thứ hai là Mã PHP được giải thích. Wheres, mã C được biên dịch. Đang có nghĩa là gì? Vâng, đối với mã C bạn chạy nó thông qua một trình biên dịch. Bạn tạo ra một tập tin nhị phân. Và bạn chạy tập tin nhị phân. Bạn đã chăm sóc của tất cả các lỗi trước bạn tạo ra các tập tin nhị phân. Tất nhiên, có thể có được phân khúc lỗi, khi bạn chạy tập tin nhị phân. Nhưng nó không giống như bạn quên bao gồm định nghĩa của printf, hoặc bạn không sử dụng một biến và chỉ tạo ra một biến lãng phí. Hoặc bạn đã không xác định chức năng nguyên mẫu. Tất cả những gì đã xảy ra trước khi bạn biên dịch. Nó đã cho bạn tất cả các lỗi hay xấu những điều mà nó nghĩ rằng có thể xảy ra. Và sau đó, bạn có 0 và 1 tập tin mà bạn chạy. Mã PHP không hoạt động như thế. Bạn sẽ viết mã PHP của bạn. Sau đó, bạn sẽ lưu nó, có lẽ. Và ít nhất trong P-Set 7, bạn sẽ để làm mới trình duyệt web của bạn, và bạn sẽ nhìn thấy những gì đã xảy ra. Bạn sẽ thấy đầu ra của mã PHP. Bạn cũng có thể thấy, ở đầu trang của bạn, một lỗi. Bởi vì bạn đã có một số lỗi trong chương trình PHP. Bạn vẫn có thể nhìn thấy phần còn lại của các trang web được tìm kiếm tốt. Nhưng một phần là sai, và có một lỗi ở nơi đó. Và đó là bởi vì đó là một phần của mã PHP của bạn không hoạt động. Thật vậy, khi bạn thực hiện, khi bạn đi đến một cái gì đó như by.php. Nó sẽ đi qua PHP của bạn nộp từng dòng và thực hiện nó sau đó và chỉ sau đó. Nó sẽ không biên dịch nó trước thời gian hoặc biên dịch một bản sao và sau đó cung cấp cho mà biên soạn bản sao cho tất cả mọi người. Mỗi thời gian, nó sẽ đi qua từng dòng và thực hiện nó. Vì vậy, một số dòng có thể làm việc và đầu ra một cái gì đó chính xác. Và đường khác có thể bị phá vỡ và đầu ra một lỗi để thay thế. Vì vậy, khi gỡ lỗi với PHP, chúng tôi đã đưa ra bạn một vài điều hữu ích để giúp bạn gỡ rối, như chức năng dump. Nhưng nói chung, bạn sẽ để xem các lỗi này. Và đó là cách bạn sẽ biết bạn đã làm gì đó sai. Nhưng bạn sẽ chỉ thấy thông báo lỗi một khi bạn thực sự chạy mã. Một khía cạnh quan trọng của PHP và phát triển web là ý tưởng của get so với bài. Ai cũng có thể giải thích những gì khác biệt giữa được và bưu chính là? Không ai - Vâng. ĐỐI TƯỢNG: Không một trong số họ cho phép người dùng xem các dữ liệu, và một trong số họ không? JASON Hirschhorn: Great. Vâng, bạn có một cái gì đó để thêm? ĐỐI TƯỢNG: Tôi là một bài mỏng biến siêu toàn cầu. JASON Hirschhorn: Vì vậy, cả hai biến được trao cho bạn. Đây chỉ là biến. Và bạn biết họ đang biến, bởi vì ở đây tôi sử dụng các ký hiệu đô la. Đây là những biến cho cho bạn bởi PHP. Và khi bạn di chuyển giữa các trang web, bạn muốn lưu một số thông tin. Có thể bạn muốn tiết kiệm nếu người sử dụng đăng nhập Đó là không được lưu trong GET và POST. Đó là được lưu trong một cái gì đó khác, một biến khác nhau. Ai biết điều gì biến mà được lưu trong, hoặc những gì biến bạn sử dụng trong P-Thiết 7, để đảm bảo rằng người dùng đang đăng nhập? $ _SESSION, Đó là chính xác, có lẽ quan trọng để làm quen với tên của những điều bạn thường sử dụng. Vì vậy, bạn sử dụng các biến phiên giao dịch để tiết kiệm thông tin từ trang này sang trang. Đó là một biến siêu. Nó tồn tại trên mỗi trang, có thể giống như một biến toàn cầu, nếu bạn muốn suy nghĩ về nó như thế. Có một vài biến số khác cho phép bạn chuyển thông tin từ trang này sang trang. Đặc biệt, những người chúng tôi sẽ tập trung vào là GET và các biến POST. Trong PHP họ trông giống như $ _GET Và $ _POST. Và sự khác biệt, như Marcus chỉ ra, giữa hai trong số đó là, thông tin trong $ _GET là hiển thị trong URL. Vì vậy, nếu chúng ta nhìn xuống đây, chúng ta thấy một liên kết YouTube. Chúng ta thấy dấu chấm hỏi. Chúng ta thấy v = và sau đó một số giá trị. Trở lại ý tưởng này của giá trị quan trọng cặp, v là chìa khóa. Và ở đây là giá trị. Vì vậy, nếu chúng ta để đi đến trang này hoặc mã hóa trên trang này, chúng ta sẽ có một biến gọi là $ _GET. Nếu chúng tôi đến $ _GET mở khung "v" khung gần, rất giống với mảng ký hiệu, đây là một mảng liên kết bởi vì chúng tôi không sử dụng các chỉ số. Đã sử dụng chuỗi như là chìa khóa. Nhưng ý tưởng rất giống nhau. Nếu chúng ta đi chúng tôi, sẽ nhận được giá trị này. Trên trang này, chúng tôi có thể sử dụng giá trị này. Nếu chúng ta thực sự nhìn, chúng ta hãy đi đến một trang YouTube. Video những gì chúng ta nên xem? Này, được người Hobbit người hâm mộ? ĐỐI TƯỢNG: Có. JASON Hirschhorn: Vì vậy, tôi sao chép URL phần và dán nó trong một cửa sổ mới. Và bây giờ, nếu bạn nhìn lên đây, bạn sẽ nhận thấy rằng, một lần nữa - Tôi sẽ để sao chép và dán vào gedit, vì vậy chúng tôi có thể nhìn thấy nó lớn hơn. Bạn sẽ nhận thấy rằng nó có dấu chấm hỏi. Dấu hỏi định rằng tất cả mọi thứ sau này là có được lưu trong biến get. Sau đó nó có v, đó là lần đầu tiên quan trọng và giá trị đầu tiên này. Ký hiệu là đặc biệt. Ký hiệu là nói, OK, chúng tôi hoàn thành giá trị đầu tiên. Chúng tôi hiện nay đang chuyển sang một cặp giá trị quan trọng. Ở đây, quan trọng được gọi là tính năng, và giá trị là youtu.be. Vì vậy, nếu tôi là một mã hóa trang này và ai đó đi đến URL này và tôi đã có có thể watch.php. Và tôi đã được mã hóa này. Và tôi có thể sử dụng biến $ _GET. Và tôi sẽ có một v, và Tôi sẽ có một tính năng. Và nếu tôi sử dụng phím v, tôi sẽ nhận được giá trị này. Và nếu tôi đã làm $ _GET khung "tính năng" khung gần, tôi sẽ nhận được giá trị này. Một lần nữa, nó không nhất thiết phải áp dụng cho - rõ ràng, các phím và các giá trị YouTube và nhận được thông tin không áp dụng cho Vấn đề của chúng tôi đặt 7. Nhưng có điều chắc chắn rằng chúng tôi vượt qua qua GET trong vấn đề của chúng tôi Set 7. Và chắc chắn, khi bạn đi đến một trang web hoặc được mã hóa trang riêng của bạn, $ _GET Sẽ có ích khi mã hóa của bạn. Một lý do để sử dụng $ _GET sau đó là gì, nếu nó không dành sự riêng tư? Bạn thấy tất cả các thông tin này đó là được chuyển nhượng. Đó là tất cả hiển thị cho người dùng. Nhưng một lý do mà bạn có thể là những gì muốn tiết kiệm một cái gì đó trong $ _GET, như trái ngược với $ _POST? Lý do tại sao bạn có thể muốn làm điều đó? Được rồi. Tôi hỏi bạn trong đề thi 1. Ủng hộ của $ _GET là gì? Một chuyên nghiệp là gì? Yeah - ĐỐI TƯỢNG: Nó dễ dàng hơn để chia sẻ thông tin. JASON Hirschhorn: Tôi nghĩ rằng đó là tuyệt vời. Nó dễ dàng hơn để chia sẻ thông tin. Nó dễ dàng hơn để đánh dấu. Bạn có thể đánh dấu bây giờ, YouTube.com / xem v = cái gì? Và đi với video cụ thể. Nếu YouTube luôn luôn làm các yêu cầu POST để các trang khác nhau, mỗi URL YouTube sẽ YouTube.com. Bạn không thể đánh dấu một video duy nhất. Bởi vì nếu bạn nói chia sẻ liên kết với người khác, họ không tự động nhận được biến bài viết của bạn. Chúng tôi chỉ nhận được liên kết này, và liên kết là như nhau cho tất cả mọi người. Vì vậy, đó là một trong những chuyên nghiệp. Nó cho phép bạn đánh dấu này thông tin hoặc chia sẻ thông tin này hoặc làm cho nó một chút thân thiện hơn. Tất nhiên, không có sự riêng tư, vì vậy chúng tôi có biến bài này. Và sau thông tin không phải là hiển thị trong URL. Nó không phải là hoàn toàn riêng tư. Nhưng nó là nhẹ riêng tư hơn. Và do đó bạn sẽ thấy URL này xuống đây, cs50.net. Hay không, bạn đang đăng nhập vào trang web, nó sẽ có cùng URL, cs50.net. Rõ ràng, một cái gì đó là khác nhau, nếu bạn đang đăng nhập vào trang web. Bạn có, một, có lẽ đầu vào số PIN của bạn. Và nó đã xác nhận rằng với máy chủ. Và nó có thể tiết kiệm một số thông tin khác. Nhưng URL không thay đổi ở tất cả. Và đó là trường hợp, khi một cái gì đó được gửi qua POST. URL không thay đổi. Thông tin POST đây không phải là hiển thị trong URL. Nhưng một số nhà nước đã thay đổi, và có thể có một số thông tin được lưu trong POST biến. Xin lôi. trước khi tôi đi vào SQL, bất kỳ câu hỏi về PHP, đặc biệt, câu hỏi về những điều chúng tôi đã không đi qua rằng bạn đã tìm thấy hoặc bất kỳ cú pháp hoặc logic các câu hỏi về PHP? OK. Ngôn ngữ cuối cùng bạn sẽ tương tác với các tuần này là Structured Query Language, SQL, phát âm là phần tiếp theo thường xuyên. Cho phép bạn tương tác với các cơ sở dữ liệu một cách chính thức. Và nó đóng rất độc đáo với PHP. Như bạn sẽ thấy trong vấn đề Set 7, chúng tôi đã đưa cho bạn một chức năng gọi là truy vấn. Và phải mất một chuỗi SQL và thực thi truy vấn trên cơ sở dữ liệu. Trong những năm qua, bạn không cho chức năng này. Bạn phải sử dụng chức năng PHP để thực hiện các truy vấn trên cơ sở dữ liệu và kiểm tra cho các lỗi và sau đó nhận được kết quả. Và trên thực tế, nó không phải là khó, bởi vì một lần nữa, nó đóng rất độc đáo với PHP. Và PHP cung cấp cho bạn rất nhiều chức năng tương tác với một cơ sở dữ liệu SQL. Vì vậy, thường xuyên, hai người những đi cùng nhau. Tất nhiên, bạn có thể tương tác với cơ sở dữ liệu SQL với bất kỳ số ngôn ngữ khác. Nhưng PHP là một tuyệt vời để lựa chọn. Một cơ sở dữ liệu - chúng ta sẽ đi qua này một cách nhanh chóng, bởi vì đây là một từ buzz chúng ta sẽ bắt đầu sử dụng thường xuyên - là một bộ sưu tập các bảng. Vì vậy, chúng ta có thể nghĩ về nó như một tập tin Excel. Một tập tin Excel có nhiều tab trên dưới cùng của màn hình. Mỗi tab bây giờ chúng tôi sẽ gọi cho một bảng, nơi một bảng là một bộ sưu tập hàng. Và một hàng là gì? Vâng, một hàng là điều tương tự trong file Excel. Điều đó chỉ có giá trị nhất định cho mỗi cho lĩnh vực hoặc từng cột nhất định. Nó giống như một mục trong bảng. Đó là một sinh viên, những người có một ID, một ID cụ thể, và một tên cụ thể và một nhà cụ thể. Vì vậy, một cơ sở dữ liệu là một bộ sưu tập các bảng. Và bảng chính họ là một số lượng hàng hoặc hồ sơ. Ngoài ra còn có, trong mỗi bảng, một số lĩnh vực. Và chỉ định những gì mỗi bản ghi là sẽ có, lĩnh vực đôi khi được gọi cột nhưng thường được gọi là các lĩnh vực. Trong bảng này rất đơn giản, tôi có ba lĩnh vực, một trường ID, tên người dùng lĩnh vực, và một lĩnh vực băm. Và tôi có ba hàng. Ngay bây giờ, họ đang có sản phẩm nào. Họ có lẽ sẽ không có sản phẩm nào nếu điều này là cơ sở dữ liệu thực sự của tôi. Vì vậy, nếu bạn đã sử dụng Excel, ý tưởng tương tự những gì bạn làm trong Excel, tuy nhiên, rõ ràng, bây giờ chúng ta sẽ có thể làm mạnh hơn rất nhiều những thứ trên thông tin được lưu trữ trong cơ sở dữ liệu của chúng tôi. Bạn sẽ tạo cho mình một cơ sở dữ liệu cho vấn đề Set 7. Nhưng bạn sẽ được tạo ra nhiều bảng trong cơ sở dữ liệu. Bạn sẽ tạo ra một cơ sở dữ liệu hoặc một bảng cho người dùng. Bạn sẽ được cũng tạo ra một bảng cho có thể giao dịch chứng khoán, để giữ theo dõi của họ, bởi vì bạn cần phải thực hiện một tính năng lịch sử. Cả những bảng sẽ có lĩnh vực khác nhau. Ví dụ, trong một lĩnh vực sử dụng, bạn có thể muốn tên người dùng và một của họ ID và băm của mật khẩu của họ. Trong bảng cổ phiếu mà theo dõi lịch sử hoặc bảng Lịch sử, bạn có lẽ không cần tên người dùng và băm và ID. Bạn có thể chỉ cần một trong những giá trị là duy nhất, liên kết nó với một người dùng nhất định. Nhưng sau đó, bạn muốn lưu trữ khác những thứ như, thời gian nào được giao dịch được thực hiện. Chứng khoán những gì đã được mua hoặc bán? Bao nhiêu cổ phiếu của các cổ phiếu được mua hoặc bán? Giá là những gì mà tại đó chứng khoán được mua bán? Vì vậy, một lần nữa, bạn sẽ được tương tác với một cơ sở dữ liệu đó là sẽ có nhiều bảng. Mỗi bảng sẽ có thiết lập riêng của các lĩnh vực. Tuy nhiên, có nhiều khả năng sẽ là một tương tự lĩnh vực trong mỗi bảng, đó liên quan họ với nhau. Thông thường, đây là một lĩnh vực ID. Bởi vì nếu mỗi người sử dụng có một ID duy nhất và bạn liên kết với tất cả các ID giao dịch mà người dùng thực hiện hoặc tất cả lịch sử của người dùng. Và bạn có ID của người dùng. Bạn có thể nhận thông tin từ một trong hai bảng. Bạn có thể nhận được tên của họ, và bạn có thể có được tất cả các giao dịch của họ. Bất kỳ câu hỏi về cơ sở dữ liệu, hoặc câu hỏi cụ thể? Trên thực tế, chúng ta hãy giữ đó. Chúng tôi sẽ có mặt ở đó trong hai bên. Vì vậy, có bốn hoạt động trên cơ sở dữ liệu mà bạn sẽ sử dụng trong Đặt vấn đề 7 và có khả năng bao giờ được sử dụng. Điều đầu tiên bạn muốn làm là chèn một kỷ lục mới vào một bảng hoặc một hàng mới vào một bảng. Đây là chức năng chung chung, các hình thức chung chung, các truy vấn SQL. INSERT INTO bàn, bất cứ điều gì cột bạn muốn chèn và sau đó các giá trị mà bạn sẽ muốn đưa vào các cột hoặc các lĩnh vực. Nếu bạn có nhiều bảng trong một cơ sở dữ liệu hoặc nhiều cơ sở dữ liệu, bạn cũng có thể cần phải xác định cơ sở dữ liệu và bảng mà bạn muốn để đưa mọi thứ vào. Nhưng rất đơn giản, nếu bạn muốn chèn vào một cái gì đó, bạn nói, đây là những lĩnh vực tôi muốn chèn vào. Và đây là những giá trị. Trong một số bảng, cũng có, và người sử dụng này bảng là một ví dụ tốt. Có lẽ trong bảng của người dùng này và có lẽ trong bảng người dùng của bạn trong P-Set 7, có không chỉ là một giá trị tên người dùng. Có không chỉ là một giá trị tiền mặt, hoặc lĩnh vực, chứ không phải. Ngoài ra còn có một trường ID. Tôi sẽ không để chèn trường ID. Điều đó sẽ được trao cho tôi tự động, khi một kỷ lục mới sẽ được chèn. Do đó, có một số lĩnh vực mà bạn có thể thiết lập để được tự động. Có thể bạn muốn cung cấp cho mỗi người sử dụng $ 10,000 tiền mặt off the bat. Vì vậy tôi không cần phải chèn một số tiền mặt ở đây. Tất cả tôi cần phải chèn là tên người dùng. Và sau đó, lĩnh vực tiền sẽ trước dân, các trường ID sẽ được phổ biến trước. Vì vậy, đôi khi, chúng ta không chèn một cái gì đó vào mọi lĩnh vực, vì các lĩnh vực khác là tiền dân cư. Vì đó là cách chúng tôi lập bảng đó. Điều thứ hai bạn sẽ muốn làm là xóa một bản ghi. Xóa một cái gì đó rất đơn giản. Bạn cung cấp cho các bảng mà bạn muốn xóa một cái gì đó từ. Và bạn nói, OK, tôi muốn xóa kỷ lục mà có một tên người dùng của Milo. Hoặc tôi muốn xóa tất cả hồ sơ mà có một tên người dùng của Milo hoặc là một giao dịch từ người sử dụng ID số 2. Bất kỳ câu hỏi về các hai loại truy vấn? ĐỐI TƯỢNG: [nghe được]. JASON Hirschhorn: Có. Vì vậy, tôi sẽ sử dụng liên tiếp và kỷ lục thay thế cho nhau và một số với cột và lĩnh vực. Nhưng một hàng là một kỷ lục. Một cột là một trong những lĩnh vực, đi sao vào bảng này. OK. Điều tiếp theo bạn có thể đi làm là có được một số thông tin từ bảng. Đó là một truy vấn lựa chọn. Và một lần nữa, những gì bàn Tôi chọn từ? Và những cột nào tôi muốn chọn, hoặc những gì giá trị tôi muốn chọn và từ đó liên tiếp? Vì vậy, các Chọn là một chút cụ thể. Tôi nói, OK, tôi muốn bảng này. Và sau đó tôi muốn tên người dùng cột, và Tôi muốn nó từ hàng với ID 2. Đó là một cách để làm một Select. Hoặc tôi có thể nói, cho tôi tất cả Tên truy nhập duy nhất. Hoặc tôi có thể nói, cho tôi một toàn bộ hàng từ bảng này, nơi tên người dùng là 1. Vì vậy, có một vài cách khác nhau để Chọn làm các truy vấn, tùy thuộc vào cách nhiều thông tin mà bạn muốn, Bạn có thể luôn luôn chỉ cần chọn tất cả mọi thứ từ đó bàn cụ thể và sau đó lặp qua nó, chọn ra những điều bạn muốn. Nhưng hãy nhớ, nếu bạn đang lựa chọn rất nhiều điều từ một bảng và bạn có một bảng thực sự lớn, mà sẽ đưa một thời gian, vì vậy tốt nhất để chỉ chọn những điều mà bạn đang đi kết thúc bằng cách sử dụng. Ngoài ra, với Chọn và với tất cả các SQL khác lệnh là tốt, tôi cung cấp cho bạn phiên bản xương trần. Nhưng nói, tôi chọn người dùng và tôi muốn in chúng ra theo thứ tự abc, Tôi có thể chọn tất cả người sử dụng và sau đó sắp xếp chúng theo bảng chữ cái trong mã của tôi. Hoặc có một cách để viết chọn truy vấn, mà chọn những thứ trong một thời trang tự chữ cái, dựa trên một cột cụ thể, tự tăng dần hoặc giảm dần. Vì vậy, hãy nhớ rằng, rất nhiều những gì bạn muốn làm có lẽ có thể được thực hiện trong truy vấn thông qua thêm thuộc tính. Vì vậy, tìm kiếm các truy vấn trực tuyến hoặc những điều khác mà bạn có thể làm với các truy vấn để mở rộng chúng. Cuối cùng, điều cuối cùng bạn muốn làm không chèn một cái gì đó hoặc xóa một cái gì đó, mà là cập nhật một cái gì đó. Và được thực hiện với các bản cập nhật truy vấn, và một lần nữa, những gì bàn. Và những gì thay đổi tôi muốn thực hiện? Và mà hàng hoặc hồ sơ làm Tôi muốn làm cho sự thay đổi đó? Bất kỳ câu hỏi về SQL? OK. Vì vậy, chúng tôi có khoảng 15 phút. Và điều này là slide cuối cùng tôi có. Và hy vọng, trượt cuối cùng này là một segue tốt vào các vấn đề thiết lập, bởi vì sự hiểu biết mà chúng ta muốn chèn các bản ghi, xóa chúng, chọn họ, và cập nhật chúng sẽ giúp chúng tôi hiểu được logic lớn hơn và dòng chảy Vấn đề Set 7. Vì vậy, tôi biết tất cả các câu trả lời cho những câu hỏi. Tôi sẽ không nói với bạn tất cả các câu trả lời. Nhưng nếu ai đó muốn trình bày một câu hỏi cho nhóm hoặc một câu trả lời cho một trong những câu hỏi, chúng ta có thể sử dụng như là một điểm nhảy để nói về bộ vấn đề. Hoặc nếu ai đó có một chung chung hơn câu hỏi ra khỏi bộ vấn đề, cảm thấy do để yêu cầu điều đó là tốt. Và chúng ta có thể bắt đầu ở đó. Hãy nhớ rằng bạn là im lặng làm tổn thương tất cả mọi người. Yeah. ĐỐI TƯỢNG: Vì vậy, cách duy nhất để vượt qua biến đến và đi từ trang web khác nhau trang, hoặc thuận tiện nhất cách, sử dụng POST hay GET? JASON Hirschhorn: Vì vậy, có, đó là nhất cách thuận tiện để nói - khi ai đó điền vào một mẫu - nhận được thông tin trên trang web khác trang, sử dụng GET hoặc POST. Vì khuôn khổ chúng ta đang sử dụng trong vấn đề thiết lập này, bạn sẽ nhận thấy đó, rất nhiều lần, chúng tôi làm cho một trang khác. Hay chúng ta làm cho chúng ta một tập tin, không nhất thiết phải một trang khác. Vì vậy, chúng tôi vượt qua trong một biến. Và sau đó, nó ám một Trang HTML, bằng cách sử dụng thông tin từ biến đó. Đó không phải là kỹ thuật đi qua thông tin giữa các trang web khác nhau. Đó là đi thông tin giữa các tập tin khác nhau. Và vì vậy chúng tôi có thể sử dụng bất kỳ biến để làm điều đó. Nhưng có, nếu chúng ta muốn vượt qua thông tin từ một trang cụ thể để một trang khác, GET và POST sẽ là cách để làm điều đó. Thắc mắc khác về vấn đề thiết lập? OK. Hãy đi qua, sau đó, một cụ thể một phần của vấn đề thiết lập. Bạn sẽ cần phải, tại một thời điểm, hiển thị danh mục đầu tư của ai đó trên màn hình. Tôi có ý nghĩa gì khi tôi nói danh mục đầu tư, trong bối cảnh của vấn đề này thiết lập? ĐỐI TƯỢNG: Nó giống như các cổ phiếu mà họ có như thế nào, nhiều cổ phiếu mà họ sở hữu, giá cả, và bao nhiêu tiền họ đã để lại. JASON Hirschhorn: Đó là âm thanh tuyệt vời. Vì vậy, tôi muốn hiển thị tất cả các cổ phiếu họ sở hữu cho mỗi công ty chứng khoán cổ phiếu và có lẽ bao nhiêu đó là giá trị, và sau đó một biến riêng biệt, bao nhiêu tiền mà họ sở hữu. Vì vậy, nói tôi muốn mô tả đó. Chúng ta hãy bắt đầu nói về làm thế nào tôi có thể đi về làm điều đó, những gì bàn tôi sẽ cần phải có thể làm điều đó. Yeah - ĐỐI TƯỢNG: người sử dụng Vâng, và sau đó, tôi đoán bạn có thể làm một bảng gọi là Cổ phần hoặc một cái gì đó như thế, mà sẽ là bao nhiêu họ đã mua. JASON Hirschhorn: OK. Vì vậy, tôi sẽ cần một bảng gọi là Người sử dụng, mà theo dõi những Tên truy nhập, có lẽ, có lẽ một số ID, có thể mật khẩu của một cá nhân. Cái gì khác là những gì mà bạn chỉ cho biết đó là liên kết? Ai đó bên cạnh Michael, là những gì cái gì khác mà liên kết với mỗi người dùng, duy nhất cho họ? ĐỐI TƯỢNG: ID. JASON Hirschhorn: ID - một điều khác mà chúng ta là những gì có lẽ sẽ muốn hiển thị trên trang này? ĐỐI TƯỢNG: tên của họ. JASON Hirschhorn: tên của họ - những gì một điều liên quan đến này vấn đề cụ thể thiết lập? ĐỐI TƯỢNG: Những gì cổ phiếu mà họ sở hữu - JASON Hirschhorn: Hiện đang có có rất nhiều những gì cổ phiếu mà họ sở hữu. Một giá trị cụ thể là những gì mặc dù, rằng họ sẽ có liên kết với chúng? Làm thế nào là họ sẽ mua và bán cổ phiếu của họ? ĐỐI TƯỢNG: Tiền mặt. JASON Hirschhorn: Họ sẽ có tiền mặt. Vì vậy, mỗi người sử dụng sẽ có một giá trị cho tiền mặt. Và đó sẽ là duy nhất cho mỗi người dùng. Vì vậy, trong bảng của người dùng, nó làm cho ý nghĩa để đưa tiền mặt. Bạn có thể, tất nhiên, không tạo ra bảng có ID người dùng và họ giá trị tiền mặt. Nhưng nó không có ý nghĩa. Nó làm cho cảm giác chỉ cần đặt tất cả điều đó trong một bảng. Vì vậy, chúng ta sẽ có một bảng với thông tin đó. Và sau đó, bảng khác là những gì chúng ta sẽ có? Bạn nói, một bảng cổ phiếu. Chúng ta đang đặt trong bảng CP? Bất cứ ai, ý tưởng - ĐỐI TƯỢNG: Công ty. JASON Hirschhorn: Chúng tôi sẽ để đưa vào tên của công ty, vì vậy AAPL cho Apple. Yeah. ĐỐI TƯỢNG: Có bao nhiêu cổ phiếu và bao nhiêu họ đang có giá trị. JASON Hirschhorn: Có bao nhiêu cổ phiếu, bao nhiêu họ đang có giá trị - cái gì khác là những gì chúng tôi cần trong bảng đó? ĐỐI TƯỢNG: Một ID người dùng để chỉ số đó. JASON Hirschhorn: Một ID người dùng. Vì vậy, trong bảng đó, chúng tôi sẽ có thể có - hãy nói, nếu đó là một người nào đó sở hữu ba cổ phiếu, ba hàng, mỗi rằng ID người dùng hoặc người sử dụng của cá nhân ID, nhưng một tên công ty khác nhau, một số cổ phần khác nhau có lẽ, và một giá trị giá khác nhau cho mỗi số cổ phiếu này. Một lần nữa, những gì tôi đang nói bây giờ không phải là nhất thiết phải thực hiện, bởi vì bạn nhận ra có một số chi tiết cách hiệu quả để thực hiện nó. Nhưng đây là một nơi tốt để bắt đầu. OK. Vì vậy, những người là hai bàn chúng tôi có. Bây giờ chúng ta muốn hiển thị trang này. Loại đầu tiên của truy vấn là những gì chúng tôi sẽ cần phải thực hiện. Trên mỗi trang, giả định đó là một người sử dụng là đăng nhập, chúng ta có ID người dùng của họ. Vì vậy, các loại đầu tiên của là những gì truy vấn, chúng tôi cần phải thực hiện? Yeah. ĐỐI TƯỢNG: ID người dùng của họ. JASON Hirschhorn: Chúng tôi có ID người dùng của họ, khi chúng ta bắt đầu mã ở bắt đầu trang của chúng tôi. Vì vậy, các loại đầu tiên của truy vấn chúng tôi là những gì cần phải thực hiện, cho ID của người dùng? Chúng tôi đã đi qua bốn loại. Chỉ có bốn câu trả lời có thể. ĐỐI TƯỢNG: Đó là chọn một kỷ lục. JASON Hirschhorn: A Chọn - chúng tôi muốn chọn từ người sử dụng của bảng để có được, chúng ta hãy nói, số tiền của họ bằng tiền mặt. Và chúng ta có thể in lượng tiền mặt trên đỉnh của màn hình. OK. Loại tiếp theo của những gì truy vấn, chúng tôi muốn làm gì? Chúng tôi có một số thứ khác chúng ta cần để hiển thị. Những người được lưu trong bảng khác. Vậy làm thế nào chúng ta sẽ có được điều đó? ĐỐI TƯỢNG: Bạn chọn cho họ. JASON Hirschhorn: A Chọn - một lần nữa, chỉ có bốn lựa chọn. Chọn có thể là âm thanh như một trong những quyền. Vì vậy, chúng ta cần phải làm một truy vấn lựa chọn, một lần nữa sử dụng mà ID người dùng. Và bây giờ, chúng tôi muốn trở lại không chỉ là một hàng, bu tất cả các hàng phù hợp với chúng tôi tiêu chí, trong đó người sử dụng ID bằng 1. Và sau đó chúng ta có thể đi và để cho một vòng lặp chỉ in tất cả những người ra trên màn hình, có thể in ra các công ty từ mỗi người trên màn hình. Tuyệt vời, mà âm thanh như đó là hiển thị một danh mục đầu tư, không nhiều hơn nữa phức tạp hơn. OK, người dùng sau đó quyết định rằng họ đã rất nhiều tiền còn lại. Và họ muốn mua một số số cổ phần của một cổ phiếu. Hãy nói rằng, họ đã sở hữu cổ phiếu của công ty này quá. Vì vậy, họ đi đến trang mua của bạn. Họ tên đầu vào của công ty. Truy vấn là gì, sau khi nhập Tên của công ty, mà bạn cần phải thực hiện tiếp theo? Yeah. ĐỐI TƯỢNG: Cập nhật. JASON Hirschhorn: Cập nhật - và những gì bảng nào bạn muốn cập nhật? ĐỐI TƯỢNG: bảng của họ, dựa trên trên số ID của họ? JASON Hirschhorn: Vì vậy, cập nhật không bảng của người dùng - để cập nhật bảng chứng khoán, nơi ID người dùng không chỉ phù hợp, nhưng Tên chứng khoán cũng phù hợp. Bạn sẽ nhận được một số giá trị. Và sau đó, bạn sẽ muốn có giá trị và thêm tuy nhiên nhiều cổ phiếu họ muốn mua nó. Vì vậy, bạn không muốn một cách mù quáng ghi đè lên giá trị đó. Nhưng bạn có thể, trên thực tế, có ban đầu coi trọng và chỉ cần cập nhật nó. Bạn có thể làm như một cộng bằng, chứ không phải chỉ là một người bình đẳng. Một cái gì đó là những gì mặc dù - nếu chúng ta suy nghĩ về điều này và chúng tôi muốn có là mạnh mẽ nhất có thể - chúng ta nên làm trước khi chúng tôi chạy truy vấn cập nhật? Họ muốn mua trong năm năm của Apple. Mỗi cổ phần của Apple là $ 200. ĐỐI TƯỢNG: Chúng ta nên kiểm tra tiền đầu tiên. JASON Hirschhorn: Chúng ta nên kiểm tra tiền đầu tiên. Chúng ta nên chắc chắn rằng họ có đủ tiền. Những loại truy vấn, chúng tôi có thể thực hiện để đảm bảo rằng họ có đủ tiền bỏ ra? ĐỐI TƯỢNG: Chọn Một. JASON Hirschhorn: A Chọn - chúng tôi lựa chọn dựa trên ID người dùng của họ, để có được giá trị của tiền mặt. Làm một số toán học nhanh chóng. Và nếu điều đó logo xứng đáng, họ có đủ tiền mặt. Sau đó chúng ta có thể chạy bản cập nhật của chúng tôi. Hoặc có thể, nếu không, chúng tôi vượt qua sau đó. Chúng tôi cung cấp cho họ một lời cảnh báo. OK. Nói rằng họ không có một công ty. Họ đang mua một công ty mới. Họ đang mua Microsoft. Những loại truy vấn nào chúng ta muốn làm, nếu họ muốn mua Microsoft? Và họ không sở hữu bất kỳ Microsoft. Không Manu, bất cứ ai, bất cứ ai bên cạnh Marcus? Carlos - ĐỐI TƯỢNG: A Chọn, để đảm bảo họ có đủ tiền. JASON Hirschhorn: Âm thanh tốt. ĐỐI TƯỢNG: Và sau đó bạn chèn trên [nghe được]. JASON Hirschhorn: Chính xác, chúng tôi sẽ muốn chèn vào bảng cổ phiếu. Và chúng ta sẽ muốn chèn. Chúng ta có thể chèn ID người dùng của họ, tên của công ty, và có bao nhiêu cổ phiếu họ muốn mua. Một số hoạt động khác là những gì mà là các trang hoặc chức năng bạn sẽ phải thực hiện trong P-Set 7, chúng ta nên đi qua? ĐỐI TƯỢNG: Thực ra, tôi loại có một câu hỏi về việc này. Trước khi bạn hiển thị các danh mục đầu tư, nên bạn kiểm tra trang web của Yahoo để đảm bảo giá cổ phiếu không thay đổi? JASON Hirschhorn: Đó là âm thanh như một ý tưởng tốt. Vì vậy, những gì Marcus nói là, OK, chứng khoán giá thay đổi liên tục. Trong các cổ phiếu mà họ sở hữu bảng, chúng tôi bảng gọi là cổ phiếu, chúng tôi có thể tiết kiệm giá của các cổ phiếu họ đã mua nó ở. Nhưng điều đó dường như không phải là mạnh mẽ, bởi vì giá của các cổ phiếu là liên tục sẽ thay đổi. Vì vậy, trong thực tế, có thể bạn không cần để tiết kiệm giá của cổ phiếu. Nhưng mỗi khi bạn hiển thị của họ danh mục đầu tư, bạn làm mới hoặc cập nhật các giá của các cổ phiếu. Và nếu bạn có - và bạn đã. Tôi biết tất cả các bạn đã nhìn vào vấn đề đặt ra lại đã. Bạn đã nhận ra rằng chúng tôi đã viết một số mã cho bạn mà sẽ cho phép bạn để có được giá của một cổ phiếu, được đặt tên của một công ty. Vì vậy, có, đó có thể âm thanh mạnh mẽ hơn một chút. Nhưng bảng mà không nhất thiết cần để tiết kiệm giá của cổ phiếu. OK. Một số chức năng khác mà bạn là gì cần phải thực hiện trong tuần này rằng chúng ta có thể nói về? Tôi muốn nói về chúng. Làm những gì bạn muốn nói về? Đây có thể là trong spec này. Tôi chỉ cần di chuyển xuống phía dưới của spec và hỏi tôi từ đầu tiên bạn thấy rằng không có ý nghĩa. Một chức năng khác - hãy nói về một. Chúng tôi sẽ bắt đầu ở đó. ĐỐI TƯỢNG: Ghi lại lịch sử. JASON Hirschhorn: Ghi âm lịch sử, tuyệt vời nhất. Vì vậy, bạn sẽ phải theo dõi của một lịch sử giao dịch. Vì vậy, bạn muốn theo dõi của tất cả các khi họ mua hoặc bán một cổ phiếu. Tôi đã mua cổ phiếu của tôi. Chúng ta chỉ nói, nó có thể làm cho tinh thần bao gồm một Chọn, để có được của họ lượng tiền mặt và kiểm tra lại. Nó có lẽ là thông minh sau đó bao gồm một chèn hoặc cập nhật, tùy thuộc vào dù có hoặc không sở hữu cổ phiếu đó. Nếu chúng ta muốn theo dõi một lịch sử, làm thế nào chúng ta có thể làm điều đó? Điều đó đi trong bảng CP? ĐỐI TƯỢNG: số JASON Hirschhorn: Không có nó có thể đi trong một bảng khác nhau. Vì nói rằng bạn mua 10 cổ phiếu của Apple. Sau đó, bạn mua thêm 10 cổ phiếu. Bạn muốn kéo hồ sơ riêng biệt. Đó là hai giao dịch riêng biệt. Vì vậy, chúng tôi có một bảng khác, một bảng lịch sử. Vì vậy, một lần nữa, chúng tôi mua. Chúng tôi thực hiện một Chọn, sau đó Chèn một hoặc một Update. Chúng ta phải làm gì tiếp theo? Truy vấn tiếp theo chúng tôi thực hiện là những gì khi chúng ta mua một cái gì đó? Chúng tôi muốn theo dõi lịch sử. Yeah. ĐỐI TƯỢNG: Bạn muốn theo dõi các giao dịch thất bại quá. JASON Hirschhorn: Vâng, trước khi chúng tôi nói gì loại giao dịch, những gì chúng ta muốn - Loại truy vấn, Carlos, sẽ cho phép chúng ta theo dõi điều nói chung? Bạn có bốn dự đoán. Mà một trong những bạn nghĩ sao? ĐỐI TƯỢNG: Đang cập nhật. JASON Hirschhorn: Chưa cập nhật. Đoán thứ hai của bạn là gì? ĐỐI TƯỢNG: Lựa chọn. JASON Hirschhorn: Nếu bạn muốn giữ theo dõi một cái gì đó, có thể bạn muốn để viết nó xuống một nơi nào đó hoặc lưu nó cho sau này. Vì vậy, nếu không cập nhật, sau đó - ĐỐI TƯỢNG: Chèn nó. JASON Hirschhorn: Insert, có chúng tôi đi. Có, vì vậy bạn chọn số lượng khoản tiền mà họ có, âm thanh tuyệt vời. Họ không có đủ tiền mặt. Giao dịch mà không phải là đi để làm việc. Không, bạn không cần phải theo dõi một giao dịch nếu nó không hoạt động. Hoặc bạn có thể, nếu bạn muốn cung cấp cho họ một thời gian khó khăn. Nhưng bạn không phải. Sau đó, bạn chèn hoặc cập nhật trong bảng cổ phiếu của họ. Và bây giờ, bạn có bảng khác của bạn. Bạn có bảng lịch sử của bạn hoặc bất cứ điều gì bạn muốn gọi nó. Và trong bảng đó, bạn sẽ để chèn một hàng mới. Đó có thể đưa đến có ID của người dùng. Nó có thể sẽ phải tên của các cổ phiếu. Nó có thể sẽ phải một thời gian mà họ đã làm nó. Và trong trường hợp này, bạn Sẽ có thể muốn chèn giá. Bởi vì đối với một lịch sử, bạn không quan tâm những gì mức giá hiện tại. Bạn quan tâm những gì giá cả là khi họ mua hoặc bán cái gì đó. Vì vậy, nó giống như âm thanh, để thực hiện mua bao gồm đầy đủ một số khác nhau Truy vấn SQL, Nhưng thật ra, không mã nhiều tổng thể. OK. Và chăm sóc của lịch sử. Hãy nói rằng, chúng tôi muốn hiển thị lịch sử của chúng tôi. Chúng tôi nói về hiển thị danh mục đầu tư của chúng tôi. Làm thế nào chúng tôi sẽ hiển thị lịch sử của chúng tôi? ĐỐI TƯỢNG: Có lẽ thứ tự thời gian. JASON Hirschhorn: Giả thứ tự thời gian - những gì truy vấn bạn có nghĩ rằng chúng ta muốn sử dụng? ĐỐI TƯỢNG: Một lựa chọn. JASON Hirschhorn: Một lựa chọn - chọn có lẽ tất cả các hàng từ bảng phù hợp với ID người dùng và sau đó hiển thị thứ tự thời gian, âm thanh tốt. Chúng ta cần phải viết mã để sắp xếp thông qua danh sách đó? ĐỐI TƯỢNG: Không, bởi vì bạn nói chúng tôi có một tăng dần và giảm dần điều. JASON Hirschhorn: Thing? ĐỐI TƯỢNG: Vâng. JASON Hirschhorn: Vâng. OK, không bật trong mã với tôi, đó tay sắp xếp thông qua các truy vấn của bạn, sắp xếp chúng. Mã đã được đưa ra. Bạn có thể viết một truy vấn lựa chọn mà sắp xếp mọi thứ. Sắp xếp chúng trước và sau đó in chúng ra. Nó có ý nghĩa nhiều hơn nữa để làm nó như vậy, so với các cách khác. Vâng. ĐỐI TƯỢNG: Chúng ta cần phải sắp xếp chúng trước? Điều đó có nghĩa là bạn loại chúng trong cơ sở dữ liệu? JASON Hirschhorn: Các truy vấn lựa chọn trả chúng về cho bạn được sắp xếp. Vì vậy, làm điều đó, thay vì chỉ có họ trả lại cho bạn theo một thứ tự ngẫu nhiên và sau đó sắp xếp chúng mình. Yeah. ĐỐI TƯỢNG: Có cách nào để giữ cho nó sắp xếp trong cơ sở dữ liệu chính nó, để bạn không có để sắp xếp nó mỗi khi bạn - ĐỐI TƯỢNG: Bạn có thể chèn nó được sắp xếp? JASON Hirschhorn: Câu hỏi - Có vấn đề rằng mọi thứ sắp xếp trong cơ sở dữ liệu? ĐỐI TƯỢNG: số JASON Hirschhorn: Vâng, họ đều được sắp xếp. Họ đang sắp xếp thứ tự thời gian. Nhưng hãy giả định rằng mọi thứ đều được sắp xếp thứ tự thời gian, từ trên xuống dưới. Chúng tôi có một hình thức của Google. Bất cứ khi nào ai đó phản ứng với Google của chúng tôi hình thành, nó chỉ được đặt trong dưới cùng của bảng đó. Có vấn đề gì mà mọi thứ sắp xếp thứ tự thời gian không? ĐỐI TƯỢNG: Nếu nó không tự thời gian, bạn không có để sắp xếp nó mỗi khi bạn có thông tin ra ngoài. Nhưng nếu nó đã được sắp xếp, không có thể bạn không phải làm điều đó thêm chức năng cuộc gọi? JASON Hirschhorn: Vì vậy, đó là thực sự là một điểm tốt. Đối với chúng tôi là lập trình viên, nó có thể có vấn đề. Và chúng tôi có thể muốn tìm một cơ sở dữ liệu mà không sắp xếp mọi thứ thứ tự thời gian. Hoặc thiết lập cơ sở dữ liệu của chúng tôi, vì vậy nó giữ thứ được sắp xếp theo ID người dùng. Vì vậy, theo cách đó, nói rằng, chúng tôi có 1.000 người sử dụng ID. Hay Facebook, chúng ta có hàng triệu ID người dùng. Chúng tôi không muốn bàn của chúng tôi chỉ là ngẫu nhiên hoặc cơ sở dữ liệu của chúng tôi là ngẫu nhiên. Nó sẽ được tốt đẹp nếu tất cả các ID người dùng đã được sắp xếp. Vì vậy, sau đó chúng ta có thể chạy các tìm kiếm nhị phân trên bàn của chúng tôi và sau đó chỉ cần tìm đoạn cụ thể. Vì vậy, có, tùy thuộc vào - nếu chúng ta mở rộng, chúng ta có thể muốn tìm một cơ sở dữ liệu rằng mọi thứ giữ được sắp xếp trong một khác nhau cách, vì vậy mà các truy vấn sẽ mất ít thời gian hơn. Và chúng tôi không phải đi qua của chúng tôi toàn bộ cơ sở dữ liệu trong mỗi hàng duy nhất trong một bảng. Nhưng mức độ chúng tôi đang làm việc tại, chúng tôi không cần phải lo lắng về việc giữ gìn thứ được sắp xếp. Chúng ta có thể giả định rằng thời gian cần truy vấn để chạy là có được không đáng kể, cho những gì chúng tôi đang xử lý. Nhưng có, ý tưởng tuyệt vời - như chúng tôi mở rộng quy mô, nó có thể làm cho tinh thần để thiết kế của chúng tôi cơ sở dữ liệu trong một chút của một cách khác nhau. Một cơ sở dữ liệu thiết kế cuối cùng điều tôi muốn đề cập đến là tốt, bởi vì bạn sẽ được chấm điểm, hoặc ghi đúng hơn, trên thiết kế cơ sở dữ liệu của bạn. Chúng tôi nói về điều này. Tiền mặt là duy nhất cho mỗi người dùng. Vì vậy, bạn đã có một bảng gọi là tiền mặt có ID người dùng của họ và số tiền của họ tiền mặt và sau đó một bảng gọi là người dùng có sử dụng của họ ID và tên người dùng của họ. Những bảng bản đồ vào mỗi khác một-một. Nó có thể làm cho tinh thần cho họ được một bàn. Vì vậy, chúng ta hãy giả sử bạn có một người sử dụng bảng theo dõi tên người dùng và tiền mặt. Bây giờ bạn có một bảng có cổ phiếu một cá nhân sở hữu. Và một cá nhân có thể sở hữu nhiều hơn một cổ phiếu. Vì vậy, những không đồ lên mỗi một-một khác. Nó không có ý nghĩa để có một khổng lồ bảng có 30 hồ sơ mà tất cả lặp lại tên người dùng, rằng tất cả lặp lại một mật khẩu, tất cả lặp lại một số tiền mặt. Nhưng mỗi người có thể là một cổ phiếu khác nhau tên hoặc giá cổ phiếu khác nhau. Nó không có ý nghĩa để có nhiều hồ sơ lớn. Được thông minh về khi bạn tạo ra những cơ sở dữ liệu, do đó bạn không phải làm một cái gì đó ngớ ngẩn như thế, lặp đi lặp lại rất nhiều thông tin không cần thiết. OK. Chúng tôi có hai phút còn lại. Người bên ngoài rất hào hứng tham gia chúng tôi hoặc có lẽ, có lẽ, bắt đầu lớp học của mình. Không ai có bất kỳ câu hỏi trước khi chúng tôi kết thúc? OK, điều này thực sự là một cơn lốc thông qua tất cả mọi thứ. Tôi xin lỗi rằng nó đã được như vậy nhanh chóng và chúng ta không có thể như thực hành tuần này cũng như tôi đã thích đã. Nhưng nếu bạn có bất kỳ câu hỏi nào về bất cứ điều gì chúng tôi đã giới hoặc bất cứ điều gì trong vấn đề này thiết lập - giả sử bạn đã đọc nó và đặt trong một nỗ lực tốt đức tin - cảm thấy tự do để gửi email cho tôi hoặc liên hệ với tôi. Tôi đang hạnh phúc để làm việc thông qua hơn mã của bạn với bạn hoặc trả lời bất kỳ câu hỏi mà bạn có. Hãy nhớ rằng, trong tuần này, rất nhiều thời gian của bạn sẽ được chi tiêu học cú pháp mới và cố gắng để hiểu làm thế nào để viết các truy vấn SQL hoặc PHP chức năng hoặc thỏa thuận với một khuôn khổ MVC. Rất nhiều thời gian của bạn trong tuần này có thể sẽ không phải cố gắng để tìm ra các Logic điên mà chúng tôi yêu cầu bạn phải làm. Rất nhiều của nó, chúng tôi chỉ đi qua là tương đối đơn giản. Vì vậy, không có nghĩa là chờ đợi đến phút cuối cùng. Nhưng nó không có nghĩa là điều chỉnh như thế nào bạn làm của bạn làm việc cho phù hợp, để đảm bảo bạn hiểu và học cú pháp. Vì vậy, bạn không phải, tất cả của một đột ngột, biết chính xác những gì bạn muốn làm, nhưng không có ý tưởng làm thế nào để chính xác viết nó. OK, tôi sẽ gặp bạn vào tuần tới.