10/10/2018, 09:44

newbie - Xin giúp đỡ series thắc mắc về templates và PHP

Mình đang tự học về PHP và mySql ở mức độ lập trình các ứng dụng web thông dụng, mục đích là học tập, đồng thời bước chân vào thế giới lập trình web (trước đây là hai lúa, chưa đụng tới web bao giờ). Quá trình học tập có vài kết quả, mySQL nắm được tương đối, PHP và javascript cũng đã sờ được cái vỏ ngoài. Vì mình định vừa học vừa thực hành song song, nên mình quyết định làm thử một trang web.

Mình định sử dụng vài cái template trên mạng, kết nối cơ sở dữ liệu --> hiển thị kết quả. Vấn đề là mình không biết kết hợp CSDL và PHP như thế nào? các bước tuần tự và cấu trúc v.v...?

Theo mình nghĩ, template có sẵn thiết kế bố cục với thẻ div, css... Mình sẽ sử dụng PHP lấy dữ liệu từ CSDL, lưu vào biến PHP rồi echo nó vào chỗ thích hợp. Nhưng mà "hình như" là mình sai thì phải? Mình search trên mạng tìm tài liệu về cái này nhưng mà toàn gặp tài liệu dạy cơ bản PHP, nâng cao PHP, PHP và SQL v.v... Chẳng nói gì về cái này cả. Vậy nên mình mạo muội hỏi xin ý kiến các bậc cao nhân ở đây, mong các bạn và các anh chị, bỏ chút thời gian chỉ giùm newbie này một chút. Cám ơn mọi người trứoc.

À, mình chỉ là newbie, vừa học vừa thực hành nên chắc là còn nhiều vấn đề, hy vọng mọi người online trên diễn đàn, nếu đi ngang qua xin hãy "ghé mắt trông ngang" cái topic của tiểu đệ, đồng thời có thể thì "thuận tay dắt bò" giúp đỡ tiểu đệ luôn. Được vậy, mình xin cúng nải chuối xanh (tất nhiên là bàn thờ nhà mình rùi ).
ngoc_viet08 viết 11:51 ngày 10/10/2018
đầu tiên là tự làm website với giao diện tự làm , layout kiểu nào đó . thấy nó cũng đơn giản .
rồi mới mở source template lên mà đưa php vào thôi .
luuanhquyen viết 11:51 ngày 10/10/2018
Hỏi lung tung beng, từ php nối với csdl lại xiên sang cả html với css.
Template theo như bạn nói là cái thiết kế, gồm có file html và file css. Thế còn php và sql lại ko liên quan gì đến html với css cả. Bạn phải tập truy đến csdl để hiện thị dữ liệu cái đã. Sau đó thì sẽ in kết quả ra trong file html bằng cách nhúng php vào html.
lordc4 viết 11:45 ngày 10/10/2018
Uhm, thế này nhé, browser sẽ request --> PHP xử lý và gửi lệnh đến mySQL --> mySQL xử lý --> trả PHP --> trả cho browser hiển thị. Mình sử dụng PHP lấy dứ liệu mySQL vào các biến, sau đó làm sao để đưa dữ liệu vào template. Mình nghĩ là dùng lệnh "echo" để in, nhưng mà khi in xong thì thẻ <div> trên giao diện chạy lung tung, làm mình sửa mệt luôn. Với lại, lên mạng down thử mấy trang .php thì thấy trong đó chẳng có dòng code PHP nào cả, toàn là HTML với CSS => phải có cách nào đó để tự sinh trang web mới và nhúng dữ liệu vào trang đó, chứ không phải là đặt lệnh "echo" trong HTML như mình nghĩ. Có điều, web down về không có dòng PHP nào nên mình cũng không có cách nào tham khảo, đành gửi yêu cầu nhờ giúp đỡ ở đây thôi.
dokhacluan viết 11:51 ngày 10/10/2018
Cậu bít cách kết nối csdl localhost chưa (nghĩa là từ http://localhost/phpmyadmin -->tao ra 1 csdl nào đó) rồi sau đó sử dụng code php để lấ dữ liệu từ csdl đó (từ mysql đó).
Cái thứ hai tớ muốn hỏi là cậu muốn viết một trang web bằng php (phần của bên lập trình) hay chỉ là phần design thôi(bên html,javascript,css).
Nếu cậu chỉ nói chung mục đích là viết ra 1 trang web thôi thì đường đi của cậu còn dài lắm (phải có cả code php và design)
Còn templates mà cậu nói dơn về khong có code php thì tớ nghĩ nó chỉ là design thôi , cau muốn dua vao templates để viết web, thì phải chèn code php vào thêm , cụ thể là phải kết nối localhost,dùng $_GET,$_POST,dùng câu lệnh require ,nhất là sau này cậu phải viết them trang admin.

Nếu cậu thích dung templates để viết , cậu thử dùng joomla xem sao (nếu cậu mới viết web , thì cau cu nghĩ joomla là một trang web đã viết sẵn , trong đó đã có các chức năng xuất thông tin ,tìm kiếm , đang nhập,đăng kí và có cả trang admin nữa.....dễ quản lý),nhưng điều quan trọng là nó dung php&mysql để viết và cậu sẽ dễ sử dụng nó , do nếu cậu không hỉu code thì chỉ cần bít cong dụng cũa trang admin thôi cũng đủ cho bạn viết 1 trang web xuất thông tin bình thừong
ngoc_viet08 viết 11:52 ngày 10/10/2018
haizzz
@luan
Mình đang tự học về PHP và mySql ở mức độ lập trình các ứng dụng web thông dụng, mục đích là học tập, đồng thời bước chân vào thế giới lập trình web (trước đây là hai lúa, chưa đụng tới web bao giờ). Quá trình học tập có vài kết quả, mySQL nắm được tương đối, PHP và javascript cũng đã sờ được cái vỏ ngoài. Vì mình định vừa học vừa thực hành song song, nên mình quyết định làm thử một trang web.
vậy còn hỏi mấy cái cơ bản , thắc mắc của đồng chí này là đưa php vào template như thế nào .

ví dụ đơn giản vậy nhá :
trước tiên là file connect db dùng mọi lúc mọi nơi :
connectDb.php
<?php
$db=mysql_connect("localhost","root","");
if (! $db)
{
echo " Không thể kết nối CSDL lúc này ! ";
exit;
}
mysql_select_db("myDB");
mysql_query("SET NAMES 'utf8'");
?>
file home.php chứa nội dung lời chào sẽ hiện tại trang chủ
include("connectDb.php");
$result1=mysql_query("SELECT `content` FROM `siteInfo` WHERE `id`='1'");// đây là 1 table chứa thông tin website , thông tin thứ nhất là lời chào trang chủ.
$wellCome=mysql_fetch_row($result1); // result chỉ có 1 row duy nhất
echo $wellCome[0];
file all.php chứa những thông tin mà trang index.php luôn có . vd : menu , quảng cáo , các module bài viết mới nhất , đọc nhiều nhất....ở đây làm ví dụ là các quảng cáo , liên kết lưu trữ trong db
$result2=mysql_query("SELECT * FROM `ads`"); //table chứa quảng cáo nhé .
$ads=array(); // vì có nhiều quảng cáo
$num=1; // tham số cho array
if (mysql_num_rows($result2)<>0)
{
while ($row1=mysql_fetch_row($result2))
{
$ads[$num]="<a href=\"$row[1]><img src=\"$row[2]\"></a><br>";//$row[1], $row[2] là link đến site được quảng cáo và image quảng cáo.
$num+=1;
}
}
file index.php
<html>
<head>
</head>
<body>
<?php
include("all.php");
?>

<div id="contain">
<div id="banner"><a href="index.php"><img src="banner.gif"></a></div>
<div id="leftMenu">
<div class="boxModule">
<div class="boxTitle">Quảng cáo
</div>
<div class="boxcontent">
<?php foreach($ads as $adsVar){echo $adsVar;}?>
</div>
</div>
</div>
<div id="index">
<?php
/* phân tích từ URL để lấy đúng file chứa nội dung cần chèn vào , ở đây là index.php nên mặc định cho là home . các link khác dạng index.php?page=...*/
$site=$_GET["page"];
if (!isset($site))
{
$site="home";
}
include("$site.php");
?>

</div>
<div>
</body>
</html>
về cơ bản chèn nội dung vào 1 template là thế , tuy nhiên mỗi cách lập trình khác nhau về cách chèn nhé . các template khác cũng có cấu trúc mà bạn cần nắm nó . xem mỗi div có nhiệm vụ gì . rồi từ đó bỏ nội dung vào thích hợp .các div khác nhau về css và cách bố cục dàn trang , cũng như các module khác nhau .
mục đích của php -> echo ra html thôi . nên cứ lựa đúng chỗ mà echo thôi.
diepnghitinh viết 11:46 ngày 10/10/2018
Ebook tập hợp một số bài thực hành của mình thích thì down về xem chơi ...
http://longan9x.com/file/php-mysql-chm.zip
lordc4 viết 11:54 ngày 10/10/2018
Cám ơn các bạn nhiều, mình đang nghiên cứu. Tìm mãi không thấy nút THANKS nên đành viết bài này nói thay.
Bài liên quan
0