09/10/2018, 23:33
Sort and display mảng nào
Conan có khai báo một cái mảng gồm các phần tử mảng.
Đanh viết một cái hàm để sort cái mảng $arr ở dưới.
Sort ở đây là duyệt trên các phần tử của $arr và display theo thứ tự.
ví dụ sort(1) nó sẽ tìm các trong $arr nếu gặp phần tử con có parentId bằng 1 nó sẽ kiểm tra phần tử này có phần tử con không [nghĩa là childId của phần tử này là parentId của phần tử khác] và display ra và tiếp tục tìm cho hết, sau đó quay trở lại tiếp tục tìm phần tử có childId bằng parentId =1.
Quá trình trên lập lại cho đến khi display hết các phần tử trong $arr theo thứ tự như trên.
Conan làm hoài mà không đc, mọi người có solution không giúp Conan với.
Thanks
PHP Code:
/*
* $data = array($parentId, $childId, $textData);
* $arr = ($data);
*/
$data1 = array(1, 2, "This is comment 1");
$data2 = array(1, 3, "This is comment 2");
$data3 = array(2, 4, "This is comment 3");
$data4 = array(4, 5, "This is comment 4");
$data5 = array(5, 6, "This is comment 5");
$data6 = array(1, 7, "This is comment 6");
$data7 = array(1, 8, "This is comment 7");
$arr = array($data1, $data2, $data3, $data4, $data5, $data6, $data7);
Sort ở đây là duyệt trên các phần tử của $arr và display theo thứ tự.
ví dụ sort(1) nó sẽ tìm các trong $arr nếu gặp phần tử con có parentId bằng 1 nó sẽ kiểm tra phần tử này có phần tử con không [nghĩa là childId của phần tử này là parentId của phần tử khác] và display ra và tiếp tục tìm cho hết, sau đó quay trở lại tiếp tục tìm phần tử có childId bằng parentId =1.
Quá trình trên lập lại cho đến khi display hết các phần tử trong $arr theo thứ tự như trên.
Conan làm hoài mà không đc, mọi người có solution không giúp Conan với.
Thanks
Bài liên quan
This is comment 1
This is comment 2
This is comment 6
This is comment 7
data1 = array(1, 2, "This is comment 1");
$data2 = array(1, 3, "This is comment 2");
$data3 = array(2, 4, "This is comment 3");
$data4 = array(4, 5, "This is comment 4");
$data5 = array(5, 6, "This is comment 5");
$data6 = array(1, 7, "This is comment 6");
$data7 = array(1, 8, "This is comment 7");
This is comment 3
This is comment 4
This is comment 5
This is comment 2
This is comment 6
This is comment 7
Nó thế này phải không
-------------------------------------
| ID | parentId | value |
-------------------------------------
| 1 | 2 | This is comment 1 |
| 1 | 3 | This is comment 2 |
| 2 | 4 | This is comment 3 |
| 4 | 5 | This is comment 4 |
| 5 | 6 | This is comment 5 |
| 1 | 7 | This is comment 6 |
| 1 | 8 | This is comment 7 |
-------------------------------------
Đấy là em viết thế. Em thấy chẳng liên quan gì đến cái chữ Sort cả!!!?
Bác có thể dùng vòng while để lấy ra....
Mình cũng đã có một giải thuật hay rút ra từ cái này cho mấy cái vấn đề về category lồng nhau [đa cấp] hoạt động rất tốt, nếu ai muốn xem cái hàm của mình thì liên hệ nick mình share cho.
Để lưu danh sách các RSS của 1 người sử dụng, tôi đang sử dụng 1 bảng tblFeeds gồm 5 cột : ID, Title, Link, CollectionID, UserID. và 1 bảng tblCollection gồm 3 cột : ID, Name, UserID.
Nay tôi có ý tưởng kết hợp chúng lại thành 1 bảng chỉ gồm 2 cột UserID và CollectionFeeds. Các giá trị CollectionFeeds sẽ được lưu dạng :
ID | CollectionName | FeedsTitle | FeedsLink ||
ID | CollectionName | FeedsTitle | FeedsLink ||
Sau đó, khi cần lấy xuống trình bày dạng bảng :
thì dùng AJJAX lôi cả chuỗi xuống cho JavaScript phân tích. JavaScript sẽ dựa vào các ký tự "||" để đánh dấu 1 hàng, các ký tự "|" để tách từng fields và trình bày ra bảng.
Vấn đề không phức tạp nếu chỉ có thêm vào và xóa đi. Nhưng còn khi đổi tên 1 Feeds hoặc 1 Collection thì khá nan giải. Bác có ý kiến nào hay hay giúp tôi không ?
ví dụ như khi del, hay chỉnh sửa thì bác nên đánh dấu phần tử trong collection đó trước khi chỉnh nó, và sau khi đã chỉnh sửa xong thì gởi dữ liệu trở lại và căn cứ vào vị trí đã đánh dấu của phần tử đó trong collection mà thay đổi.
Mời bác xem bản demo này :
http://snfeed.h4vn.info/Examples/Bookmark/bmk.htm
Chỉ là 1 chuỗi được xử lý hoàn toàn bằng Java Script, nên cho cảm giác phản ứng của nó là tức thì. Trang này tôi không cập nhật dữ liệu, xem như mô hình minh họa ý tưởng thôi. 1 bản thu gọn khác hoàn chỉnh hơn tôi đã nhúng vào cái Feeds Reader, có cấu trúc dữ liệu như mô tả : 1 field duy nhất cho mỗi user
Từ cái này mà tôi nảy ra ý cấu trúc lại cơ sở dữ liệu cho các bảng Feeds theo kiểu đó xem có được ko. Tuy vậy, xin các bác chỉ điểm thêm mấy hàm xử lý array trong PHP : thêm, xóa, sắp xếp mảng nhiều chiều. Đa tạ.