PHP Căn Bản – Bài 9
- July 31, 2010
- 114 comments
Chúng ta sẽ tiếp tục chia sẻ thêm về phân trang trong PHP. Đây cũng là vấn đề mà nhiều người đã từng mắc phải khi xử lý dữ liệu với PHP.
Cũng như với mọi tiêu chí tôi sẵn sàng nhận những ý kiến đóng góp về ý kiến cho Video để ngày càng hoàn thiện hơn.
Phần I
Thời lượng: 40:07
Phần II
Thời lượng: 34:07
Sao lại bị lỗi thế này.Mình cố gắng sữa rồi mà vẫn không sữa được lỗi này. Bạn nào đã fix được lỗi này giúp mình tý được không vậy:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\wamp\www\PHP\phantrangfucntion.php on line 37
while($row = mysql_fetch_assoc($sql_dl)){ // tại dòng này
echo ”;
echo ”.$row['email'].”;
echo ”.$row['first_name'].”;
echo ”;
}
anh CS ơi có thể cho em xin file php trong bài mà anh đã gõ ko ạ
Thanks a Clacken Smith. Tuy nhiên em thấy khi viết code anh nên giải thích thêm về code để người mới bắt đầu có thể dễ hiểu hơn?
Trong TUT này thì em thầy vẫn còn một lỗi là: trong function total_pages: trường hợp
if($this -> current_page == 1){
$this -> start = 1;
}
thì mình phải sửa lại là $this -> start = 0 thì mới đúng, bởi vì trong cấu truy vấn để lấy dữ liệu: nếu để LIMIT 1,1 thì nó sẽ lấy ra record thứ 2, mà đúng ra thì phải lấy record 1 mới đúng. Do câu truy vấn mà có LIMIT 1,1 nó sẽ lấy record tiếp theo sau 1, chứ không phải bắt đầu lấy từ record số 1 trở đi.
Thanks!
bài 9 này thật sự là a dạy em không hiểu nhiều, mong anh giải thích nhiều về code hơn. cảm ơn
post video lên mà dạy đôi chỗ ngấp ngứng quá đại ca ơi, phải đầu tư thời gian làm cho lưu loát chứ
. Mà cái OOP này mình hem thích đầu tư học
. Nó có ưu điểm vượt trội ko nhỉ .
xem xong video này thấy php cũng không khó lắm
e xin lỗi e k biết post câu hỏi này ở chỗ nào! e rất thực sự rất thích trang web này ! nó dạy cho e rất nhiều thứ! e đã xem qua tut của anh DW về phân trang nhưng e muốn hỏi thêm nếu như e muốn select csdl bằng từ khóa như trong phần tìm kiếm nâng cao đấy ạ! thì khi load lên phân trang như thế nào ạ! e có thử làm theo tut của a DW nhưng k được ạ [dĩ nhiên là e có thay đổi tí cho phù hợp với bài của e] ! xin mấy anh nói rõ thêm cho e hỉu rõ cái này ạ!
Hi anh CS. Anh ơi, em gặp một vấn đề khi phân trang tìm kiếm, khi em tìm kiếm thì, kết quả ở trang thứ nhất vẫn hiện bình thường nhưng vào trang thứ 2 thì nó không ra kết quả. Anh giúp em cách phân trang khi tìm kiếm với. Em cảm ơn anh nhiều!!!!!!!!!!!!!
mình cũng đang vướng phải vấn đề này.
bạn thử thêm đoạn này vào thử:
echo’Previous‘;
coi thử thế nào. có gì có thể trao đổi qua yahoo:quybmt2003
bạn love_web ah. bạn biết sao mà nó qua trang mới ko được ko. Vì nó phải tồn tại từ khóa thì nó mới thực hiện đoạn code phân trang nên ở phần hiện ra số trang bạn phải truyền vào thêm từ khóa nữa. nhớ là ở phương thức GET nhé bạn.
những bài giảng khá hay?
Cảm ơn các anh đã tạo nhiều tut hay và bổ ích, em học đc rất nhiều từ các tut của anh. Em mới làm quen với php nên mong các anh làm nhiều tut thêm nữa để em được học hỏi. Hj
mình mới học php dc vài ngày.bạn có nick yahoo..có mấy chỗ khó hiểu mà chẳng có ai giải đáp..thank
nói thật, làm theo các tut do CS demo hết sức thất vọng, bạn không giải thích ý nghĩa của từng dòng code như DW, series PHP này rất hay và quan trọng cho ai học lập trình web vậy mà bạn hướng dẫn 1 cách hết sức sơ sài (giống như bạn học thuộc code chứ chưa thật sự hiểu rõ nó)
–> Mình đã theo series này ngay những bài đầu, trình độ mình cũng ko cao nhưng được cái siêng, bị cái CS code mà không giải thích, giống như thầy giáo lịch sử viết bài lên bảng mà không giảng vậy
–> Mình biết bạn đã bỏ thời gian và tâm huyết để làm những tutorial này, nhưng 1 video làm ra phải thật sự bổ ích và cuốn hút (nếu không làm cho n học cảm thấy vô cũng nản)
–> Anh DW nếu có thời gian xin hãy làm lại series PHP, hầu hết ~ tut anh làm e vẫn còn nhớ rất rõ (đặc biết WP rất hay)
–> Anh CS nếu được xin hãy lưu ý ~ ý kiến của e, kiế thức của a rất tốt (theo e biết) nhưng cách a giảng thật sự rất rất khó để hiểu
—————>Sory vì đưa ra ý kiến với CS, nhưng đó cũng là mún tốt cho easy web (chứ ko phải ai zi wáp như a hay nói). Mong anh đừng giận nha
Kiến thức là bể rộng,
chia sẽ những gì mình biết với người khác chính là đi học cái hay của người khác.
Mình không phải có ý làm khó bạn hay gì cả, mà mình chỉ muốn người Việt Nam mình nên tập thói quen tốt ấy “tôn trọng bản quyền”
Có như vậy CNTT nước nhà mới vượt lên được những cái gọi là khắt khe của các nước phát triển.
Bạn là người chia sẻ kiến thức với người khác nên bạn khắt khe bản quyền thì những người đi sau sẽ có ảnh hưởng và sẽ học tập cách tôn trọng đó, như thế sau 5-10 năm lượng người Việt mình coi trọng bản quyền sẽ tăng lên theo cấp số nhân. (^_^)
Mình rất vui vì bài viết của Demon Warlock và Clackken Smith rất “có chất” và được mọi người học hỏi. VN đang cần những người như các bạn.
Mình cũng chỉ là dân lang thang trên mạng tìm cái hay để học thôi, nhưng rất ủng hộ các bạn đã chia sẻ, mình mong sớm có thêm kiến thức để chia sẽ cùng các bạn khác (^_^)
bài này có bug là cho start=1 nên khi limit sẽ mất dòng đầu,các bạn cho lại start=0 thì sẽ được thôi!
đoạn này
if($this->total_pages scroll_page ){
if($this->total_records per_page){
$loop_start = 1;
$loop_finish = $this->total_pages;
}else{
$loop_start = 1;
$loop_finish = $this->total_pages;
}
$loop_start = 1;
$loop_finish = $this->total_pages;
}
theo tôi là thừa,chỉ cần
if($this->total_pages scroll_page )
{
$loop_start = 1;
$loop_finish = $this->total_pages;
}
mình thấy dễ hiểu đáy chứ. mà theo mình nên bỏ bớt phần nhập dữ liệu đi cho đỡ tốn time hihihi
Blog này nhiều bài ý nghĩa đấy, nhưng bài này mình nghĩ nên ghi rõ nguồn sourcecode nhé

code này hoàn toàn của một coder nước ngoài, bạn dùng làm video tutorial mà không nói gì đến nguồn gốc source code hay sự đồng ý của tác giả
Nên tôn trọng copyright của họ nhé daika
Quan trọng là hiểu được và biến kiến thức thành của mình, học tập từ 1 coder giỏi sẽ tiến bộ rất nhanh. Mà cũng đâu chắc chắn code đó là của người nước ngoài nào đó viết hoàn toàn. Ở đây chỉ mang nghĩa tương đối thôi. Kiến thức đã là của bác giống người khác đôi chút thì có ai bắt tội khi nó là kiến thức đúng đắn.
@Johnson: cảm ơn bạn đã lưu ý về vấn đề bản quyền, tôi sẽ xác nhận lại với CS. Nếu đúng như bạn nói tôi sẽ trích dẫn nguồn. Tôi luôn đề cao tinh thần tôn trọng quyền tác giả, do vậy tôi rất nghiêm khắc về vấn đề này. Muốn người khác tôn trọng mình thì trước hết mình cần tôn trọng họ.
^^ Thế mà cũng có người biết được.
- Tôi cũng nói luôn hoàn cảnh khi tôi làm quen với những Class này. Lang thang trên mạng học PHP, tôi được 1 người bạn copy cho đoạn Class đó. Và chỉ nguyên mẫu các hàm chứ không hề có về bản quyền. Và thời gian đó cũng chỉ là học cho biết, khoảng lớp 12 nên cũng chẳng quan tâm bản quyền.
- Khi tôi ứng dụng lại Class đó cho bạn, tôi đã loại bỏ khác nhiều điểm thừa thãi của nó về giao diện về các hiệu ứng, về các cách filler trang …. Và một điều quan trọng rằng, tôi học từ Class của một người khác, nhưng đó không phải là nguyên bản của Class tôi đã học, nên vấn đề bản quyền sẽ có thể không đề cập bởi 2 lý do :
+ Các code đó là tôi tự custom từ những kiến thức đã học.
+ Tôi thực sự không có được thông tin của tác giả.
Như vậy tôi xin đính chính nếu các bạn thực sự tôn trọng bản quyền, các kiến thức truyền đạt trong bài này được tham khảo từ một Thư viện khác.
Cái bài này làm đúng theo anh nhưng em ra vẩn bị lổi
Notice: Undefined variable: paper_url in C:\wamp\www\BaiGiang\phantrang.php on line 98
;
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\wamp\www\BaiGiang\kqpt.php on line 36
Notice: Undefined property: paper::$page_links in C:\wamp\www\BaiGiang\kqpt.php on line 46
Anh Clackken Smith ơi, sao em làm giống của anh, chạy trên máy của em nó báo lỗi :
Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\baitap_php1\report_test.php on line 34
code:
<?php
while($row = mysql_fetch_assoc($sql_dl)) //line 34
{
echo '’;
echo ”.$row['m_user'].”;
echo ”.$row['m_name'].”;
echo ”;
}
?>
Anh giúp em với
khi làm theo bài trên mình gặp 1 lỗi như sau:
nếu function total_pages — $this->start=1;
thì khi select ra nó sẽ mất đi dòng đầu tiên trong bảng.
select * from table limit 1, 5
nếu function total_pages — $this->start=0;
thì khi select ra bình thường, không mất dòng nào cả.
Anh CM ơi ,cho em xin link down 2 video này được không ạ
chào anh Clackken Smith ! .em cảm ơn anh vì những video anh làm ra rất hay . em mới học php nên chưa biết nhiều nhưng khi em xem video của anh em cũng hiểu khá nhiều. mà anh ơi có linh download các video này không ạ!! thanks anh
Tác giả trong video hem biết có kinh nghiệm bao nhiêu năm nhỉ. thắc mắc.
Dạ em cảm ơn anh nhiều…em chúc các anh chị trong izwebz.com và tất cả các bạn đang ủng hộ izwebz.com thật nhiều sức khỏe…!!
OK! Mình rất thích học những phần mềm này nên rất vui khi bạn nói vậy.Trước mình nghĩ izwebz chú trọng nhiều đến code nhưng nay phát triển thiết kế giao diện, banner web nhiều hơn nữa mình thấy thật yêu izwebz.Từ nay mình sẽ năng vào izweb.
OK!Mình rất thích học những phần mềm này nên rất vui khi bạn nói vậy. Cứ nghĩ izwebz chỉ chú trọng nhiều đến code thôi nhưng nay phát triển thêm thiết kế giao diện,banner web nhiều hơn nữa mình thấy thật yêu izwebz quá.Từ nay mình sẽ năng đến izwebz.
@Phu Chi Phuong: Flash chắc có lẽ mình sẽ là người đản nhận rồi. Nhưng chắc bạn phải đợi rồi vì hiện giờ mình còn đang bận với PTS và HTML5. Chắc có lẽ sẽ ra sau 2 series này.
Chào izwebz.com, chào anh Clackken Smith !
Trong khoảng thời gian gần đây em đã xem video hướng dẫn của anh…trước tiên em cũng thay mặt những người thích tìm hiểu về web xin chân thành cảm ơn anh và những người đã cùng anh tham gia hướng dẫn làm website trong trang web izwebz.com .
Em rất thích làm web nhưng phần tạo những hiệu ứng cho baner thì em chưa được biết nhiều, em chỉ tạo baner bằng “Aleo Flash Intro and Banner Maker v3.2 Portable” nhưng chỉ được một số hiệu ứng thôi, nên nhân tiện đây em mong được anh chia sẽ cho em cũng như các bạn trẻ thích làm web các video có liên quan đến phần tạo hiệu ứng baner.
Vây kính mong anh sẽ giúp em hoàn thành video hướng dẫn trong thời gian sớm nhất.
Trong khi cho đợi sự chia sẽ anh em xin chân thành cảm ơn !
Anh ơi! cho em xin link mediafire down bài này với !
Anh ơi link die rùi! Cho em xin link mediafire nhé! Cảm ơn a nhìu!
bạn nào up video lên mediafire cho mình xin với.
email: thanh.cntt.bkhn@gmail.com
thanks!
hehe, vẫn chưa hiểu anh ơi, đi đến trang cuối cùng là biến $this->last_page_text rồi mà.
vd như:
page_url . 1 . $page_url_last .’”>’ . $first_page_text . ‘‘
vậy thì trong này biến $page_url_last dùng để làm gì
Đã làm được.
Anh CS có thể giải thích giùm em cái biến $page_url_last để làm gì không, ngồi nghĩ mãi mà không biết. Thanks
Đi đến trang cuối cùng ^^
Warning: Division by zero in C:\AppServ\www\baitap\paper.php on line 36
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\baitap\reports.php on line 30
sao em lại có cái lỗi củ chuối thế này anh nhỉ ?
$this -> total_pages = ceil($this -> total_records / $this -> per_page);//line 36
while($row = mysql_fetch_assoc($sql_dl)) //line 30