Thứ Năm, 23 tháng 10, 2014

Học thiết kế web khi không biết gì về lập trình

Học thiết kế web khi biết gì về lập trình hay gần như không biết gì về lập trình web? bạn có thể làm được điều này? Đương nhiên là có thể vì hiện nay có rất nhiều Framework có thể giúp bạn làm web mà không cần phải biết nhiều về lập trình web.
Các Framework phổ biến hiện nay:
+ DruPal ra đời từ năm 2001 tới nay DruPal đã là một mã nguồn mở được sử dụng nhiều nhất  với cộng đồng người sử dụng trên toàn thế giới. Drupal cho phép người quản trị hệ thống tạo và tổ chức dữ liệu, tùy chỉnh cách trình bày, tự động hóa các tác vụ điều hành và quản lý hệ thống những. Drupal có cấu trúc lập trình rất tinh vi, dựa trên đó, hầu hết các tác vụ phức tạp có thể được giải quyết với rất ít đoạn mã được viết, thậm chí không cần.
WordPress được biết đến như một CMS miễn phí nhưng tốt, dễ sử dụng và phổ biến nhất trên thế giới. Các so sánh đều cho thấy người dùng sử dụng CMS này cho việc lập các trang web cá nhân đến các trang báo điện tử đồ sộ nhất như CNN, Dow John, Wall Street Journal... sử dụng WordPress.
Thống kê năm 2013 cho thấy có đến xấp xỉ 20% các trang web nằm trong top 10 triệu trang web hàng đầu thế giới đang sử dụng WordPress.
ASP.NET là một nền tảng ứng dụng web (web application framework) được phát triển và cung cấp bởi Microsoft, cho phép những người lập trình tạo ra những trang web động, những ứng dụng web và những dịch vụ web. Lần đầu tiên được đưa ra thị trường vào tháng 2 năm 2002 cùng với phiên bản 1.0 của.NET framework, là công nghệ nối tiếp của Microsoft's Active Server Pages(ASP). ASP.NET được biên dịch dưới dạng Common Language Runtime (CLR), cho phép những người lập trình viết mã ASP.NET với bất kỳ ngôn ngữ nào được hỗ trợ bởi.NET language.
Bạn có thể chọn cho mình một Framework để theo học thêm để có thể tự làm web cho mình nhưng nếu bạn cảm thấy mình thích hợp với PHP hơn thì hãy tham khảo về khóa học lập trình Web với PHP tại Việt Tâm Đức.
Các khóa học có liên quan:

Thứ Ba, 16 tháng 9, 2014

NHỮNG VẤN ĐỀ MẮC PHẢI TRONG DRUPAL

Nói đến Drupal, một số có thể cho rằng nó quá phức tạp để phát triển website vì lý do những thuật ngữ được sử dụng trong drupal khác rất nhiều so với joomla và wordpress. Nhưng có 1 điều chúng ta phải thừa nhận rằng, trong thế giới SEO thì drupal sẻ là 1 lựa chọn hoàn hảo nhất cho việc phát triển webstie mã nguồn mở. Ngoài một bộ sườn uyển chuyển, drupal còn hỗ trợ rất tốt heading tag, tagling keyword là đặc biệt là url sef.

Nhưng vẫn còn đó một số vấn đề cần giải quyết đối với việc làm SEO cho  website drupal. Một vấn đề mà các bạn thường hay mắc phải nhất chính là trùng lặp nội dung (duplicate content), đặt biệt là với Drupal. Website drupal sử dụng khá nhiều các mặc định giúp tối ưu hóa công cụ tìm kiếm, những một số chức năng mặc định ấy chính là nguyên nhân dẫn đến việc duplicate content. Hy vọng rằng với một số thủ thuật nhỏ ở bài viết này, SEO Việt Nam sẻ giúp bạn giải quyết ổn thỏa vấn đề này.
Vấn đề duplicate của drupal:

Hãy nhìn vào 2 đường link dưới đây:

http://www.drupal.com/article/duplicate-content/

http://www.drupal.com/article/duplicate-content

Với một website drupal thông thường, được bất chức năng clear url thì việc tạo ra nhưng url vô cùng friendly như trên là hoàn toàn có thể. Những url kiểu này giúp ích rất nhiều trong cả việc SEO tối ưu hóa trên mạng tìm kiếm lẫn hạn chế lỗi 404 cho người đọc. Nhưng nó vẫn còn đó 1 vấn đề đó là duplicate, cả 2 url cùng cho ra 1 kết quả giống nhau, điều này có thể tốt cho người đọc những thật sự là ko tốt cho website của bạn 1 chút nào.

May thay, thủ thuật nhỏ với việc sử dụng .htaccess này sẻ giúp bạn loại bỏ hoàn toàn vấn đề trên.
Redirect drupal với .htaccess:

Chắc hẳn các bạn đã phần nào hiểu được sức mạnh của .htaccess trong việc chuyển hướng server, tác dụng của .htaccess đã giúp những website joomla cũng như wordpress có thể tạo ra những url cực kì SEF giống SEO Việt Nam Wink

Và với drupal chúng ta cũng sẻ sử dụng .htaccess như một công cụ giúp tránh trùng lặp nội dung. Cách giải quyết ở đây là chúng ta sẻ chuyển hướng tất cả các url có dạng:

http://www.drupal.com/article/duplicate-content/

thành những url có dạng :

http://www.drupal.com/article/duplicate-content

Với việc sử dụng 301 redirect ở trường hợp này, chúng ta có thể yên tâm rằng sẻ ko còn tồn tại bất cứ link nào có dạng http://www.drupal.com/article/duplicate-content/ mà mọi truy vấn đến đường link này sẻ được tự động redirect về http://www.drupal.com/article/duplicate-content

Tất cả việc bạn cần làm là thêm đoạn code sau vào file .htaccess trên server:

#get rid of trailing slashes
RewriteCond %{HTTP_HOST} ^(www.)?seovietnam\.org$ [NC]
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/ [R=301,L]

Tham khảo thêm bài viết: .htaccess và redirect 301
Sử dụng file robots.txt để ẩn đi nội dung trùng lặp:

Không chỉ có những url như trên, một website drupal còn có thể tồn tại thêm một dạng url như sau:

http://www.viettamduc.com/articles/duplicate-content
http://www.viettamduc.com/node/44

Và điều chúng ta cần làm trong trường hợp này là thêm đoạn code sau vào file robots.txt

Disallow: /node/

Việc làm này sẻ giúp chúng ta quy định các bọ tìm kiếm không quét nhứng phận nội dung trên thư mục /node/, vì vậy các bọ tìm kiếm sẻ ưu tiên index những url có cùng nội dùng khác thay vì url có chứa thư mục /node/

Đây sẻ không phải là vấn đề của bạn nến bạn sử dung module pathauto và Global Redirect, 2 module này sẻ giúp bạn trong việc loại bỏ url chứa biến /node/. Riêng về phần tôi thì tôi sẻ sử dụng chức năng của .htaccess và robots.txt thay vì những module mở rộng thêm, vì phần nào những module mở rộng cũng sẻ hạn chế một phần tốc độ của website bạn.

Hy vọng rằng với những thủ thuật nhỏ trong việc sử dụng .htaccess và robots.txt phía trên, sẻ phần nào giúp các bạn tối ưu hóa webiste drupal của mình tối hơn.

Chủ Nhật, 7 tháng 9, 2014

NHỮNG LÝ DO KHÔNG NÊN SỬ DỤNG WORDPRESS

Những Lý Do Không Sử Dụng WordPress
WordPress đôi khi là một lựa chọn tuyệt vời. Nhưng thông thường lại là 1 lựa chọn tệ...
Rất nhiều người chọn học WordPress để thiết kế website như một CMS mặc định (Content Management System - hệ thống quản trị nội dung) cho tất cả các websites của họ trên internet. Và rất nhiều chuyên gia về Internet Marketing dạy bạn làm thế nào để sử dụng WordPress mà không hề nghĩ rằng đó có phải là giải pháp tốt nhất hay chưa.
Hãy xem video này trước khi bạn cài đặt WordPress. Nó có thể sẽ giúp bạn tiết kiệm rất nhiều thời gian về sau.
1 cách tóm tắt:
WordPress là một nền tảng dành cho blog. Nó không được thiết kế để được sử dụng như trang thành viên, phễu bán hàng, các trang thông tin nhỏ và một loạt các mục đích khác mà nhiều người cố gắng khiến Wordpress đáp ứng được các nhu cầu này.
WordPress về cơ bản không được tối ưu hóa SEO. Nó đòi hỏi thêm rất nhiều plug-in và thay đổi các thiết lập để có thể tối ưu hóa SEO. Điều này khiến bạn mất thêm rất nhiều thời gian nghiên cứu và cài đặt. (có rất nhiều giải pháp khác tốt hơn để dùng làm cấu hình mặc định).
Theme của WordPress khó chỉnh sửa, trừ khi bạn hiểu được bạn đang làm gì. Thậm chí đối với những người làm về code không quen thuộc với cấu trúc themes của WordPress có thể mất nhiều thời gian để chỉnh sửa.
Một vấn đề quan trọng ở WordPress là cách dùng bộ nhớ của nó. Các trang web được xây dựng với WordPess thường lớn và tiêu thụ rất nhiều tài nguyên máy chủ. Điều này vượt quá mức cần thiết cho nhu cầu của hầu hết những người sử dụng (cũng như không thích hợp).
Hầu hết mọi người không cân nhắc đến tác động của sự quá tải bộ nhớ máy chủ (không giống như khả năng lưu trữ máy chủ). Trang web có thể trở nên rất chậm hoặc thậm chí sụp đổ.
Hệ thống lưu trữ chung (shared hosts) thường không quan tâm và cho phép sự quá tải này xảy ra. (KHÔNG có những thứ như băng thông không giới hạn hay khả năng lưu trữ không giới hạn – như nhiều host quảng cáo).
WordPress là mã nguồn mở và rất phổ biến. Điều này có những ưu điểm nhưng cũng có những khuyết điểm. Bởi vì nó quá phổ biến nên nó là mục tiêu chính cho nhiều hacker - họ có thể tìm kiếm các trang WordPress và tìm ra bạn ngay cả khi bạn chỉ sở hữu một website nhỏ.
Bởi vì WordPress là mã nguồn mở nên hacker dễ dàng tìm thấy kẽ hở và điểm yếu về bảo mật, khiến cho những website này dễ bị hack hơn. Việc các website WordPress bị hack xảy ra liên tục.
Bởi vì bị hack liên tục và luôn được cải thiện, WordPress đòi hỏi phải cập nhật liên tục. Việc này không mất nhiều thời gian, nhưng có thể trở thành sự phiền phức khi bạn chỉ muốn cài đặt và quên chúng đi để tập trung vào những việc khác.
(Tôi đã có kinh nghiệm đau thương khi bỏ quên vài trang web, sau đó phát hiện ra chúng bị hack và trở thành những trang lừa đảo để ăn cắp mật khẩu). Điều này dẫn đến việc chúng bị vô hiệu hóa bởi công ty hosting và gây nên các vấn đề nhức đầu khác khi muốn chúng hoạt động trở lại.
Một trong những vấn đề của việc cập nhật các trang WordPress là các plug-in có thể trở nên lỗi thời và không còn sử dụng được. Ngay cả themes cũng có thể dừng hoạt động hoặc gây nên các vấn đề về sự tương thích.
Điều này có nghĩa là bạn phải dựa vào những người hoạt động độc lập trong việc phát triển các plugin của WordPress và hi vọng họ sẽ cập nhật đều đặn, mà thường thì họ ko làm điều đó. Điều này có thể cũng sẽ gây nên các vấn đề về tương thích với các đoạn script khác mà bạn có thể tích hợp với các phiên bản khác nhau của PHP, CSS, jQuery…(mặc dù điều này có thể xảy ra với bất kỳ hệ thống nào, nhưng nó là vấn đề mà WordPress đang mắc phải khi lưu trữ các themes, plugin, và các developer khác nhau).
Nói tóm lại, WordPress đôi khi là lựa chọn tuyệt vời cho một số đối tượng. Nhưng nó thường bị lạm dụng và thường thì không phải là một lựa chọn tốt.
Thật dễ dàng cho nhiều người (không biết nhiều) đề xuất WordPress với bạn khi đó là tất cả những gì họ biết. Trong thế giới Internet Marketing rất nhiều chuyên gia không thật sự hiểu về mặt kỹ thuật. Ngược lại những người hiểu thì thường là được trang bị tốt kiến thức hoặc có nhân viên trợ giúp để có thể vượt qua những vấn đề mà tôi đã đề cập ở trên.
Thay đổi nền tảng cho website là 1 vấn đề đau đầu. Hãy suy nghĩ trước khi ra quyết định. WordPress có thể thích hợp dành cho bạn - hoặc không...

LỰA CHỌN NGÔN NGỮ LẬP TRÌNH ĐỂ HỌC

Lập trình là một công việc cực kì trí tuệ và thú vị, song với số lượng ngôn ngữ lập trình quá nhiều như hiện nay, đâu là ngôn ngữ lập trình tốt nhất cho người mới bắt đầu? Hãy cùng trang công nghệ LifeHacker đi tìm câu trả lời cho câu hỏi hết sức phổ biến này.
 
Lựa chọn ngôn ngữ nào để bắt đầu học lập trình
 
Thực tế, câu hỏi "Tôi nên học ngôn ngữ nào khi mới bắt đầu lập trình?" là một câu hỏi gây tranh cãi, ngay cả với những kỹ sư, giảng viên kì cựu nhất. Nếu bạn hỏi 10 lập trình viên "Đâu là ngôn ngữ tốt nhất cho 'lính mới'?", bạn hoàn toàn có thể nhận được 10 câu trả lời khác nhau.
 
Để tìm ra ngôn ngữ lập trình phù hợp nhất, bạn không chỉ cần đánh giá mức độ dễ học của mỗi ngôn ngữ, mà còn cần xem xét xem bạn sẽ lập trình trong các dự án như thế nào, yếu tố bạn ưa thích nhất ở lập trình là gì và liệu xem lập trình có trở thành nghề kiếm sống của bạn hay không.
 
Vì sao bạn muốn học lập trình?
 
Tùy vào lý do bạn muốn học lập trình, rất có thể câu trả lời đã được xác định sẵn cho bạn. Nếu bạn muốn thiết kế website hoặc ứng dụng nền web, bạn cần học HTML, CSS, Javascript để tạo ra các trang web hoàn chỉnh, và có lẽ là PHP để tạo ra hệ thống nền web hoàn chỉnh hoặc là học lập trình với ASP. Nếu bạn chủ yếu muốn phát triển ứng dụng di động hãy học Objective-C để lập trình cho iOS và học Java để lập trình cho Android.
 
Nếu bạn xác định rằng mình sẽ lập trình phục vụ cho nhiều mục đích, nhiều dự án, hoặc muốn thử nghiệm nhiều ngôn ngữ/công nghệ khác nhau, bạn cần phải học các khái niệm căn bản về lập trình một cách căn bản, và bắt đầu "học cách suy nghĩ như một lập trình viên đích thực". Bằng cách tiếp cận này, bất kể là bạn bắt đầu học bằng ngôn ngữ nào đầu tiên, bạn có thể dễ dàng tiếp cận các ngôn ngữ mới trong tương lai.
 
Các ngôn ngữ được sử dụng nhiều nhất
 
Phần lớn các ngôn ngữ lập trình "chính thống" (được nhiều người sử dụng) như C, Java, C#, Perl, Ruby và Python đều có thể thực hiện các tác vụ giống nhau (hoặc gần giống nhau). Ví dụ Java là một ngôn ngữ lập trình hoạt động đa nền tảng (không phụ thuộc vào hệ điều hành, bất kể là Windows, Linux hay Mac), song các ứng dụng Python cũng có thể chạy trên Windows và Linux gần như tương đồng nhau. Bạn có thể dùng Java để viết các ứng dụng nền web lớn và Ruby cũng có khả năng này.
 
Do nhiều ngôn ngữ lập trình được xây dựng dựa trên các ngôn ngữ lập trình khác (ví dụ, Microsoft bị chỉ trích là đã "ăn cắp" từ Java để tạo ra C#), cấu trúc câu lệnh trên các ngôn ngữ này là gần như giống hệt nhau. Hãy thử xem ví dụ dưới đây về bài toán kinh điển "Hello World" (khi học một ngôn ngữ/công nghệ mới, điều đầu tiên mà bạn cần làm bao giờ cũng sẽ là tìm cách hiển thị dòng chữ "Hello World"):
 
Các ngôn ngữ lập trình
 
Như bạn có thể thấy, cách viết của C# và Java gần như giống hệt nhau; trong khi cách viết của Python và Perl cũng không quá khác biệt.
 
Tuy vậy, giữa các ngôn ngữ có thể có sự khác biệt lớn về cách cài đặt, sử dụng… Tạp chí SOA World Magazine đưa ra lời khuyên như sau:
 
"Nếu bạn nhìn rất kĩ vào các ví dụ, bạn có thể thấy một vài ví dụ khá đơn giản, một số khác khá phức tạp, một số ngôn ngữ yêu cầu phải có dấu chấm phẩy (;) ở cuối câu lệnh, một số khác thì không. Nếu bạn mới bắt đầu lập trình, đôi khi bạn nên chọn các ngôn ngữ không có quá nhiều qui luật về cú pháp và logic, bởi nhờ đó mà ngôn ngữ này không thể "tự gây khó dễ cho chính mình". Nếu bạn vừa thử một ngôn ngữ nào đó và cảm thấy không thoải mái, hãy đổi sang ngôn ngữ khác!".
 
Sau đây là tổng quan về một số ngôn ngữ phổ biến nhất:
 
C: Viết ra các đoạn mã nguồn có hiệu năng cao
 
Có thể nói rằng C là ngôn ngữ lập trình được sử dụng nhiều nhất. Việc các lập trình viên cần biết sử dụng C giống như là các bác sĩ cần phải biết cấu tạo cơ thể con người vậy. C là một ngôn ngữ có bậc khá thấp (cách xa ngôn ngữ người, và gần với ngôn ngữ máy), do đó bạn sẽ học các nguyên tắc căn bản về cách tương tác với phần cứng. Bạn cũng sẽ học cách debug (theo dõi chương trình để phát hiện, sửa lỗi), quản lý bộ nhớ, và học cả cách hoạt động của phần cứng máy vi tính. Với các ngôn ngữ bậc cao hơn (như Java), bạn sẽ không có cơ hội học những kiến thức này, và bởi vậy học C là một cách chuẩn bị rất tốt để bước lên các ngôn ngữ khác. C được coi là "ông tổ" của các ngôn ngữ lập trình bậc cao như Java, JavaScript và C#.
 
Tuy vậy, do C là một ngôn ngữ khá "bài bản", việc học lập trình với C sẽ khó khăn hơn các ngôn ngữ khác. Nếu bạn không cần viết các chương trình tương tác quá sâu với phần cứng (ví dụ như truy cập vào driver của thiết bị, hoặc viết các phần mở rộng cho hệ điều hành…), học C sẽ gây lãng phí thời gian – có thể là vô ích. Nói tóm lại, trong khi học C sẽ giúp bạn viết các chương trình tương tác sâu với hệ thống, bạn sẽ phải tốn rất, rất nhiều thời gian học trước khi có thể tạo ra một sản phẩm có ý nghĩa.
 
Java: Lựa chọn hợp lý, phù hợp với thực tiễn
 
Java là ngôn ngữ lập trình phổ biến thứ 2 trên thế giới. Java áp dụng gần như triệt để các nguyên tắc Lập trình Hướng đối tượng (OOP) – một mô hình được thực hiện trên hầu hết các ngôn ngữ hiện đại như C++, Perl, Python và PHP. Khi đã học Java, bạn sẽ dễ dàng nắm bắt được các ngôn ngữ OOP khác.
 
Java có thế mạnh là được sử dụng rất nhiều. Bạn có thể dễ dàng tìm được câu trả lời cho các bài toán căn bản trên Java, cộng đồng sử dụng Java cũng rất lớn (và do vậy khả năng được trợ giúp của bạn cũng sẽ lớn hơn), và ngôn ngữ Java được sử dụng cho rất nhiều mục đích (viết ứng dụng nền web, nền Windows, nền Android hoặc gần như là bất cứ hệ điều hành nào khác), do đó lựa chọn học Java là một lựa chọn khá khôn ngoan. Trong khi bạn không thể "chọc" sâu xuống hệ thống như C, Java vẫn cho phép bạn sử dụng các phần quan trọng như hệ thống tập tin, đồ họa, âm thanh, mạng… trên các hệ điều hành khác nhau.
 
Python: Dễ học và thú vị
 
Nhiều lập trình viên sẽ khuyên bạn học Python đầu tiên, bởi ngôn ngữ này khá đơn giản song lại có rất nhiều khả năng. Mã nguồn Python rất dễ đọc, và cũng đòi hỏi bạn phải làm theo các phong cách lập trình nên có (ví dụ như sắp xếp mã nguồn cho dễ đọc) trong khi lại không quá đòi hỏi gắt gao về cú pháp (ví dụ như phải thêm dấu chấm phẩy ở cuối câu lệnh).
 
Theo Patrick Jordan, chuyên gia tại Ariel Computing, so với thời gian cần thiết để viết các mã nguồn đơn giản trong các ngôn ngữ khác như C, Java và BASIC, Pythonn "đòi hỏi ít thời gian hơn, ít dòng code hơn, và đòi hỏi ít khái niệm cần phải học để đạt được một mục đích xác định hơn. Cuối cùng, lập trình với Python khá thú vị. Sự thú vị và khả năng thành công sẽ tạo ra sự tự tin và hứng thú cho học viên, và sau đó họ sẽ học lập trình dễ dàng hơn".
 
SOA World cho rằng Python là một lựa chọn bắt buộc đối với những người muốn làm việc với Linux (hoặc đã quen với Linux từ trước). Nhờ được sử dụng trên các trang web nổi tiếng như Pinterest và Instagram, Python cũng đang ngày một phổ biến hơn.
 
JavaScript: Để lập trình web
 
Dù được đặt tên theo Java (vì lý do thương mại), JavaScript rất khác biệt so với Java. JavaScript có thể được coi là ngôn ngữ lập trình được hỗ trợ nhiều nhất, do tất cả các trình duyệt web đều hỗ trợ JavaScript. JavaScript được coi là 1 trong 3 thành phần căn bản của web: HTML chứa nội dung, CSS chứa giao diện và JavaScript đảm nhiệm vai trò tương tác động. JavaScript có cú pháp khá dễ sử dụng, bạn mất ít thời gian để viết và có thể dễ dàng đánh giá thành quả của mình khi lập trình JavaScript, và bạn cũng không cần tới quá nhiều công cụ pháp triển như các ngôn ngữ khác. Nói tóm lại, nếu bạn muốn tạo ra các trang web hấp dẫn, JavaScript là lựa chọn bắt buộc.
 
JavaScript để lập trình web
 
Lựa chọn đường đi cho mình
 
Nếu bạn muốn lựa chọn lập trình làm nghề nghiệp, hãy cân nhắc những lời khuyên sau đây từ Dev/Code/Hack:
 
- Lập trình Back-end/Server-side: Python, Ruby, PHP, Java hoặc .NET. Bạn cần phải có kiến thức về cơ sở dữ liệu và nên có kiến thức quản trị hệ thống.
 
- Lập trình Front-end/Client-side: HTML, CSS và Javascript. Bạn nên có khả năng thiết kế tốt.
 
[*] Thế nào là Front-end và Back-end? Ví dụ, khi bạn đọc bài trên VnReview, phần trang web được hiển thị trên trình duyệt của bạn được coi là front-end. Các xử lý mang tính hệ thống mà người dùng cuối không biết tới (ví dụ, lấy nội dung trang web từ cơ sở dữ liệu) sẽ được xử lý trong phần "back-end" của máy chủ.
 
- Lập trình di động: Objective-C cho iOS và Java cho Android. Bạn nên có kiến thức HTML/CSS để lập trình web cho thiết bị di động. Bạn cũng nên có kiến thức server-side.
 
- Lập trình 3D/lập trình game: C/C++, OpenGL. Bạn nên có thẩm mỹ tốt và tư duy sáng tạo.
 
- Lập trình cho các hệ thống đòi hỏi hiệu năng cao: C/C++ hoặc Java. Bạn nên có kỹ năng toán học và kỹ năng phân tích lượng tốt.
 
Nói tóm lại, học "code" là một con đường có rất nhiều xuất phát điểm. Điều quan trọng nhất là bạn phải biết mình cần gì: cần giải quyết vấn đề gì hoặc xây dựng ra các ứng dụng dạng nào. Blog Programming is terrible đưa ra kết luận:
 
"Ngôn ngữ đầu tiên mà bạn học được là ngôn ngữ khó nhất mà bạn sẽ học. Lựa chọn đường đi nhỏ bé hơn và dễ dàng hơn biến trải nghiệm này thành một chuyến phiêu lưu, hơn là một thử thách. Xuất phát điểm không quan trọng, miễn là bạn tiếp tục đi – tiếp tục viết code, tiếp tục đọc code. Cũng đừng quên test chúng. Một khi bạn đã lựa chọn được một ngôn ngữ thực sự giúp bạn vừa lòng, việc học các ngôn ngữ mới sẽ ít khó khăn hơn, và bạn sẽ tiếp tục thu về các kỹ năng mới".

KẾT HỢP PHP VÀ MYSQL TRONG ỨNG DỤNG WEBSITE

KẾT HỢP PHP VÀ MYSQL TRONG ỨNG DỤNG WEBSITE


Ở bài trước, chúng ta đã cùng nghiên cứu về các cú pháp sql và Mysql cơ bản bao gồm việc tảo bảng, tạo kết nối, thêm, sửa, xóa các dòng dữ liệu trong cơ sở dữ liệu. Và tiếp theo bài này, chúng ta sẽ cùng tìm hiểu về cách sử dụng mysql kết hợp với PHP để xuất ra dữ liệu như thế nào.
Để làm việc với mysql và PHP chúng ta cần nắm 6 hàm cơ bản:


1- Kết nối cơ sở dữ liệu:

Cú pháp:

mysql_connect("hostname","user","pass")

2- Lựa chọn cơ sở dữ liệu:

Cú pháp:

mysql_select_db("tên_CSDL")

Ví dụ:

$conn=mysql_connect("localhost","root","root") or die(" khong the ket noi");
mysql_select_db("demo");

3- Thực thi câu lệnh truy vấn:

Cú pháp:

mysql_query("Câu truy vấn ở đây");

4- Đếm số dòng dữ liệu trong bảng:

Cú pháp:

mysql_num_rows();

5- Lấy dữ liệu từ bảng đưa vào mảng:

Cú pháp:

mysql_fetch_array();

6- Đóng kết nối cơ sở dữ liệu:

Cú pháp:

mysql_close();

Ví dụ áp dụng:

Tạo cơ sở dữ liệu dựa trên từng đoạn code sau:

mysql -hlocalhost -uroot -proot
mysql>create database demo_mysql;
mysql> use demo_mysql;
mysql>create table user(id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, username VARCHAR(50) NOT NULL, password CHAR(50) NOT NULL, PRIMARY KEY(id));

Tạo trang test.php. Đầu tiên chúng ta sẽ kết nối cơ sở dữ liệu.

<?
$conn=mysql_connect("localhost", "root", "root") or die("can't connect database");
mysql_select_db("demo_mysql",$conn);
?>

Tiếp đến viết câu truy vấn lấy ra tất cả user từ database.

<?
$sql="select * from user";
$query=mysql_query($sql);
?>

Kiểm tra xem trong bảng dữ liệu đã tồn tại user nào chưa ?. Nếu chưa thì xuất ra thông báo lỗi, ngược lại thì đưa chúng vào mảng và lặp cho đến hết bảng dữ liệu.

<?
if(mysql_num_rows($query) == 0)
{
echo "Chua co du lieu";
}
else
{
while($row=mysql_fetch_array($query))
{
echo $row[username] ." - ".$row[password]."<br />";
}
}
?>

Và cuối cùng chúng ta đóng kết nối và kết thúc thao tác xử lý.

<?
mysql_close($conn);
?>

Và cuối cùng là file hoàn chỉnh của ứng dụng trên:

<?
$conn=mysql_connect("localhost", "root", "root") or die("can't connect database");
mysql_select_db("demo_mysql",$conn);
$sql="select * from user";
$query=mysql_query($sql);
if(mysql_num_rows($query) == 0)
{
echo "Chua co du lieu";
}
else
{
while($row=mysql_fetch_array($query))
{
echo $row[username] ." - ".$row[password]."<br />";
}
}
mysql_close($conn);
?>

Tổng kết:

Ở bài này chúng ta đã làm việc với sql và các kỹ thuật kết nối với database của PHP. Các hàm PHP hỗ trợ mysql hiện nay có rất nhiều. Tuy nhiên về tính năng cũng như phương thức sử dụng thì chúng cũng giống nhau. Do vậy các bạn không nên lo lắng khi làm việc với những hàm mà chúng ta đang nghiên cứu.