2012-04-03 71 views
0

我有一個名爲'files'的表,其中存儲了file_id的表。基本上,我的網站上的用戶可以上傳文件到我的網站,當用戶上傳文件時,所有文件的信息都會上傳到我的表格。選擇列值相同的行

不管怎麼說,我工作的一個文件管理器其中,用戶可能會看到所有的,他們已經上傳的文件,編輯文件名,刪除文件等

我怎麼樣了完成此操作後,文件上傳時,用戶的唯一標識號將與具有唯一文件標識的行一起上傳。

所以我必須爲我的文件管理器做的事情是匹配用戶的ID與無論多行說有用戶的ID在他們,然後在文件管理器頁面上顯示每個文件。

這樣做最簡單的方法是什麼?

這就是我所得到的。不是很好,我知道。

$checkfiles = mysql_query("SELECT * FROM repository WHERE userid = '$useridtemp'") or die(mysql_error()); 
$fileinfo = mysql_fetch_array($checkfiles); 
+0

好的,那麼問題在哪裏?你在正確的軌道上,這會給你一個在userid列中具有該用戶標識的行數組。現在你需要遍歷它們並拉出file_id列。 – Paystey 2012-04-03 22:50:21

回答

1

你基本上有:

$user_id_safe = AddSlashes($useridtemp); 
$result = mysql_query("SELECT * FROM repository WHERE userid = '$user_id_safe'"); 
while ($row = mysql_fetch_array($result)){ 
    # this loop will run once for each found row, in $row 
    print_r($row); 
} 

只是增加了一個逃生的用戶ID,以避免SQL注入攻擊和循環返回的行。

+0

謝謝!此代碼完美工作。 – 2012-04-03 23:22:14

0

這將打印在一個表中的文件,與刪除編輯按鈕。顯然,這種方法可能是刪除文件最不安全的方式......但我認爲這只是教育,是的?無論如何,這是某種東西。

echo '<table>'; 
foreach($fileinfo as $file) { 
    echo '<tr>'; 
    // Print File info 
    echo '<td>'.$file['filename'].'</td>'; 
    // Print Buttons 
    echo '<td><a href="edit.php?id='.$file['id'].'"><img/></a></td>'; 
    echo '<td><a href="delete.php?id='.$file['id'].'"><img/></a></td>'; 
    echo '</tr>'; 
} 
echo '</table>'; 

我已經將圖像留爲空白。 You'll have to find some icons yourself.

+0

謝謝!這工作完美! – 2012-04-03 23:22:02