10/10/2018, 10:57

[PHP] Giúp mình về trang download

Table:
soft (soft_id, soft_description)
download (download_id, download_link, soft_id)

Ví dụ, mình cập nhật phần mềm Adobe Audition 3 Full có soft_id là 222. Mình up lên mediafire.com và có link download là mediafire.com/?xyz có download_id là 59. Khi user bấm vào để xem phần mềm (có đường dẫn là: soft.php?id=222), và click để tải phần mềm thì nó sẽ dẫn sang 1 trang khác có đường dẫn cụ thể là: download.php?id=222&59
thuyduongcd viết 13:02 ngày 10/10/2018
Giả sử link thế này:
Code:
<a href="soft.php?id=222"
Trang soft.php:
Code:
$soft_id=$_GET['id'];
//Truy vấn để tìm downloadid
$query="SELECT download_id FROM download WHERE soft_id=$soft_id";
.....
$download_id=$row['download_id'];
// có thông số rồi redirect sang trang download
header("Location: download.php?soft_id=$soft_id&download_id=$download_id");
1024KB viết 12:59 ngày 10/10/2018
Xem lại quan hệ CSDL.
- Nếu quan hệ 1-1 thì tách ra 2 bảng làm gì.
- Nếu quan hệ 1-n thì ở soft header kiểu gì.
thuyduongcd viết 13:12 ngày 10/10/2018
Thông thường mỗi soft thường có 1 id download riêng nên quan hệ thường là 1-1. Còn việc tách ra 2 bảng hay để chung là do ý đồ nhà thiết kế CSDL. Không nhất thiết lúc nào cũng phải gộp chung 1 bảng. Ví dụ đối với quản lý user ta thường tách ra bảng user (chứa thông tin đăng nhập) và user_detail (chứa thông tin chi tiết), mặc dù 2 bảng này vẫn là quan hệ 1-1
Nếu quan hệ 1-n thì cũng không hẳn là không header được. implode tất cả các id lại thành 1 string. Sau đó explode ra lại để sử dụng.
Thế Giới Phẳng viết 13:01 ngày 10/10/2018
Cho mình hỏi thiế kế cdsl kiểu gì để:

- lấy kích thước của file đó.

- nếu user bấm vào để xem phần mềm xyz nó sẽ có đường dẫn là: soft.php?id=222

Nội dung của trang:
Code:
* Tên phần mềm: Adobe Audition 3 Full
* Người gửi: Thế Giới Phẳng
* Ngày đăng: 08/10/1991
* Kích thước: 50 MB -> Quan trọng là chỗ này, làm sao để lấy được kích thước
file khi mình up lên mediafire, hay mình phải nhập thủ công (tức là mình sẽ
tạo thêm ô Kích thước: rồi mình up file đó lên mediafire rùi xem kích thước
của nó và điền vào ô đó)
* Gới thiệu: Đây là phần mềm thu âm chuyên nghiệp dành cho....
* Lượt tải: 1
* Link download: [Bấm vào đây để tải] ->Nó sẽ sang một trang khác, với đường
dẫn là: /download?F=0fxCrSmSbu (p/s: muốn nó ra đường dẫn này thì sao ạ). Rồi

nó sẽ tự động chuyển sang trang mediafire
Demo: http://share-book.com/ebook/giao-duc...-doi-van-menh/
lalan1 viết 13:12 ngày 10/10/2018
// Theo tôi bạn không cần thiết phải phân ra làm 2 bảng nên tạo thành một bảng như sau :
// soft (soft_id, soft_name, soft_description, file_size, download_link, post_share, date_share, total_download)
// VD : (222, 'Adobe Audition 3 Full', 'Nội dung bạn cần bổ sung cho phần mềm....', '50000', 'http://mediafire.com/?xyz','Thế Giới Phẳng','08/10/1991', '1')

// thì code sẽ như sau :
// Page index
$conn = @mysql_connect('localhost','root','root') or die(@mysql_error());
@mysql_select_db('data_name',$conn) or die(@mysql_error());
$q = @mysql_query("SELECT soft_id, soft_name FROM soft") or die(@mysql_error());
while($r = @mysql_fetch_assoc($q)){
?>
<p><a href="soft.php?id=<?php echo $r['soft_id']; ?>"><?php echo $r['soft_name']; ?></a></p>
<?
}
// Page soft
$conn = @mysql_connect('localhost','root','root') or die(@mysql_error());
@mysql_select_db('data_name',$conn) or die(@mysql_error());
$id = (is_numeric($_GET['id'])) : $_GET['id'] ? 0;
if(isset($_POST['update_id'])){
$q = @mysql_query("UPDATE soft SET total_download = total_download + 1 WHERE soft_id = '".$_POST['update_id']."'") or die(@mysql_error());
}
$q = @mysql_query("SELECT soft_name, soft_description, download_link, file_size, post_share, date_share, total_download FROM soft WHERE soft_id = '".$id."'") or die(@mysql_error());
$r = @mysql_fetch_assoc($q);
?>
<p>
* Tên phần mềm: <?php echo $r['soft_name']; ?><br />
* Người gửi: <?php echo $r['post_share']; ?><br />
* Ngày đăng: <?php echo $r['date_share']; ?><br />
* Kích thước: <?php echo $r['file_size']; ?><br />
* Gới thiệu: <?php echo $r['soft_description']; ?><br />
* Lượt tải: <?php echo $r['total_download']; ?>
</p>
<p><a onclick="update('<?php echo $id; ?>');" href="<?php echo $r['download_link']; ?>">[Click here to download]</a></p>
<?
// * Tên phần mềm: Adobe Audition 3 Full
// * Người gửi: Thế Giới Phẳng
// * Ngày đăng: 08/10/1991
// * Kích thước: 50 MB -> Quan trọng là chỗ này, làm sao để lấy được kích thước
// file khi mình up lên mediafire, hay mình phải nhập thủ công (tức là mình sẽ
// tạo thêm ô Kích thước: rồi mình up file đó lên mediafire rùi xem kích thước
// của nó và điền vào ô đó)
// * Gới thiệu: Đây là phần mềm thu âm chuyên nghiệp dành cho....
// * Lượt tải: 1
// * Link download: [Bấm vào đây để tải] ->Nó sẽ sang một trang khác, với đường
// dẫn là: /download?F=0fxCrSmSbu (p/s: muốn nó ra đường dẫn này thì sao ạ). Rồi

?>
// Cái sau bạn nên xem lại muốn lấy đựoc cái đó thì chỉ có hack mediafire đi bạn upload by mediafire thì khó lấy đựoc file_size trừ khi bạn làm một trang upload của mình và upload dư liệu lện media fire
Bài liên quan
0