PDA

View Full Version : Giúp em code lấy dữ liệu từ My SQL ra dạng bảng



tongchinh
21-12-2008, 01:36
Chào các bác!

Em đang học IT hệ cao đẳng và phải làm 1 cái đồ án cơ sở (tự chọn ngôn ngữ). Em đã chọn PHP mặc dù chúng em không được học ở trường.

Vấn đề em đang cần nhờ các anh giúp đỡ là:
Em có 1 bảng cơ sở dữ liệu khachhang, em muốn xuất nó ra trang htm dạng table, tức là thế này, các anh nhìn hình bên dưới nhé!
http://i213.photobucket.com/albums/cc115/tongchinh/cangiupdo.gif
Tức là em muốn nó xuất ra 1 trang có tên là: danhsachkhachhang.php mà có dạng bảng như hình bên dưới, còn xuất ra như hình bên trên thì em làm được rồi ạ.

Các anh giúp em cái code đoạn này nhé, viết chi tiết 1 chút được không ạ? em mới đi đang tự đọc PHP mà đoạn này em ko hiểu các anh ạ, giúp em code đoạn này nhé!

Em xin cảm ơn các anh rất nhiều!

namduong8889
21-12-2008, 03:51
Đối với những bảng nhỏ thì dùng các hàm truy vấn CSDL để đọc dữ liệu rồi xuất vào từng cell, nhưng đối với các bảng lớn thì làm như thế nào, ai biết xin chỉ giúp tôi luôn.

Madking
22-12-2008, 08:30
choỳ. Sao lại phân biệt bảng nhỏ bảng lớn? Vậy thì bảng nhỏ viết pà nó cái tĩnh cho rồi.

Bạn thực hiện truy vấn rồi đưa vào vòng lặp. Đại loại cứ code để đưa thông tin vào một dòng thôi, rồi nhét nó vào vòng lặp có bước lặp bằng row tiếp.

Ngày trước mình cũng chọn PHP để làm tốt nghiệp dù trong trường không dạy :D. Nhưng mà bỏ cũng lâu lắm rồi :((.

namduong8889
22-12-2008, 20:57
choỳ. Sao lại phân biệt bảng nhỏ bảng lớn? Vậy thì bảng nhỏ viết pà nó cái tĩnh cho rồi.

Bạn thực hiện truy vấn rồi đưa vào vòng lặp. Đại loại cứ code để đưa thông tin vào một dòng thôi, rồi nhét nó vào vòng lặp có bước lặp bằng row tiếp.

Ngày trước mình cũng chọn PHP để làm tốt nghiệp dù trong trường không dạy :D. Nhưng mà bỏ cũng lâu lắm rồi :((.

Vâng, nhưng khi lặp dả dụ truy xuất dữ liệu echo ra nó ra một đống thế này:

1. SAIUDHOỊAD
2. SIOAHDAIODJO
3. SHDOÍADOÍAHD
4. ÁPODKPÁOKDPA
.v.v.........


Làm sao để nhét từng dòng vào từng cell trong table (hoặc mỗi dòng vào một thẻ DIV riêng) hả bác???

superthin
22-12-2008, 21:17
Vâng, nhưng khi lặp dả dụ truy xuất dữ liệu echo ra nó ra một đống thế này:

1. SAIUDHOỊAD
2. SIOAHDAIODJO
3. SHDOÍADOÍAHD
4. ÁPODKPÁOKDPA
.v.v.........


Làm sao để nhét từng dòng vào từng cell trong table (hoặc mỗi dòng vào một thẻ DIV riêng) hả bác???

Chưa học tí nào về HTML hả ku? Chưa đọc HTML mà đòi chòi PHP thì ắt là nhảy vào đã đòi đua xe khi chưa biết chạy xe.

Ku làm như thế này nhé:

Giải sử cái phần của ku mà như bảng 1 ku trình bày đó:
Họ tên: Tống Văn Chình
Năm sinh: 1988
Giới tính: nam
...
(hớt cụt bớt để đọc cho gọn)

Giả sử là ku có những lệnh echo hoặc print như sau
echo "Họ tên: $hoten";
hoặc cụ thể hơn là ku có vòng lặp while dạng:


while ($row = mysql_fetch_assoc($result)) {
echo "Họ tên: " . $row['hoten'];
// và vân vân ở đây, tự hiểu
}


Thì ku chuyển thành bảng như sau:
dòng này nằm ngoài vòng lặp:

<table border="1">
<tr>
<!-- có bao nhiêu cái họ tên, năm sinh, điện thoại,... cứ mỗi cái là tương đương một cột, ku tăng thêm 1 lần <td>cột đó</td> nhé:
<td>Họ tên</td>
<td>Năm sinh</td>
<td>Giới tính</td>
<td>Tự ku thêm cột như vầy nhé</td>
</tr>


Rồi đến vòng lặp:


while ($row = mysql_fetch_assoc($result)) {
echo "<tr>\n";
echo "<td>Họ tên: " . $row['hoten'] . "</td>\n";
echo "<td>Năm sinh: " . $row['namsinh'] . "</td>\n";
echo "<td>Giới tính: " . $row['***'] . "</td>\n";
echo "<td>Đây là cột ku tự thêm nhé</td>\n";
echo "</tr>\n";
}


Tóm lại, cấu trúc của một bảng table có dạng:


<table border="1">
<tr> <!-- mở đầu một dòng, có bao nhiêu dòng, bấy nhiêu lần tr -->
<td>Cột thứ nhất</td>
<td>Cột thứ hai</td>
<td>Cột thứ ba</td>
<td>Cột thứ en nờ</td>
</tr> <!-- kết thúc dòng -->
</table> <!-- đóng table -->

Ku cứ lấy dữ liệu từ MySQL ra mà "ịt" vào các chỗ cột thứ... nhé.
Đọc thêm sách đi, dám cả gan làm cái mà mình chưa biết gì về lý thuyết là liều mạng đó.

tongchinh
26-12-2008, 21:41
cảm ơn các bác, cảm ơn bác "siêu mỏng" nhiều lắm!