2016-01-24 31 views
0

在我的项目有2个用户,管理员上传文件到数据库存储在tbl_upload观看从上传查询特定ID

upload.php的

if(move_uploaded_file($file_loc,$folder.$final_file)) { 
     $sql="INSERT INTO tbl_uploads(emp_id,file,ext,size) 
     VALUES('$file_id','$final_file','$file_type','$new_size')"; 
     mysql_query($sql); 

,我已经从tbl_employee存储的ID现在我的问题是如何从观看表查看特定ID

view.php

$sql="SELECT * FROM tbl_uploads"; 
    $result_set=mysql_query($sql); 
    while($row=mysql_fetch_array($result_set)) 

这是文件去$folder="uploads/";即时思考外键,但我不知道从哪里开始。请帮忙。在此先感谢

回答

0

您可以使用mysql_insert_id()得到最后一个自动增量的ID。 通过特定行(您的案例中的ID)过滤结果由WHERE子句完成。

$id_upload = mysql_insert_id(); 
$sql="SELECT * FROM uploads WHERE id = ".(int)$id_upload." LIMIT 1"; 
+0

其工作,但它认为最后的上传。但如果我想查看所有上传的文件的ID? – JustAngelo

+0

对于什么ID?我以为你需要上传的ID?如果您需要员工编号,请将员工编号放入WHERE子句中。 – PetrHejda

+0

tbl_upload从tbl_employee取得emp_id – JustAngelo

0

你需要tbl_uploads添加列如下:

ALTER TABLE tbl_uploads 
ADD COLUMN user_id 
ADD CONSTRAINT fk_users FOREIGN KEY (user_id) REFERENCES users(user_id) 

您也可以设置级联属性来删除文件时,用户将被删除。

ALTER TABLE tbl_uploads 
ADD COLUMN user_id 
ADD CONSTRAINT fk_users FOREIGN KEY (user_id) REFERENCES users(user_id) 
ON DELETE CASCADE 

但是,您需要创建一个INNODB属性的表。

此外,如果你需要插入PHP后,即可获取最后一个ID,您可以与MySQL功能让它在PHP

<?php 
    $user_id= $_SESSION['user_id']; 
    $mysqli = new mysqli("db_server", "db_user", "db_pass", "db_name"); 

    /* check connection */ 
    if (mysqli_connect_errno()) { 
     printf("Connection error: %s\n", mysqli_connect_error()); 
     exit(); 
    } 
    //remeber if the id field is auto_increment you don´t need write on query 
    $query = "INSERT INTO tbl_uploads (user_id, final_file,file_type,new_size) VALUES ('$user_id', '$final_file', '$file_type', '$new_size')"; 
    $mysqli->query($query); 

    printf ("Last id %d.\n", $mysqli->insert_id); 


    /* close connection */ 
    $mysqli->close(); 
?> 
+0

tbl_employee是INOODB的表 – JustAngelo