2015-02-24 64 views
0

首先,我知道這是錯誤的。我只是不知道解決方法或如何實施它。PHP + MySQL while()while()只會從數據庫中刪除第一個結果

這是我的代碼:

$description_query = "SELECT * FROM documents WHERE owner = '".$_SESSION['username']."' AND id = '".$deletefileid."'"; 
$description = mysql_query($description_query, $connection) or die(mysql_error()); 

$description_files_query = "SELECT filename FROM documents_files WHERE besitzer = '".$_SESSION['username']."' AND vertrag_id = '".$deletefileid."'"; 
$description_files = mysql_query($description_files_query, $connection) or die(mysql_error()); 

while($row = mysql_fetch_array($description_files)) 
{ 
    while($row1 = mysql_fetch_array($description)) 
    { 

     if (!is_dir('./docs/archiv/'.$row1['vertragsnummer'])) { 
      mkdir('./docs/archiv/'.$row1['vertragsnummer']);   
     } 

     $filename = './docs/'.str_replace("./docs/", "", $value); 
     $newfilename = './docs/archiv/'.$row1['vertragsnummer'].'/'.str_replace("./docs/", "", $value); 
     rename($filename, $newfilename); 

    } 

} 

現在代碼首先選擇有關條目的信息,然後移動這些文件,但如果一個以上的文件,它的動作只有在結果中的第一個。

這是因爲第一次,因爲它總是隻選擇一個條目,然後停止從頂部工作。

我該如何解決這個問題?真的很困惑。

感謝

+0

什麼你想達到什麼目的? – Bang 2015-02-24 13:40:54

+0

你需要做'mysql_data_seek($ description,0)'while whiles – 2015-02-24 13:42:11

+0

我想刪除與數據庫中某個條目相關的所有文件。 – Doe 2015-02-24 13:43:30

回答

0

可以消除在做數據庫的連接複製田地:

$description_query = "SELECT * FROM documents d inner join documents_files df on (d.id = df.vertrag_id) WHERE d.owner = '".$_SESSION['username']."' AND d.id = '".$deletefileid."'"; 
+0

我見過這個地方,謝謝。我的問題是我現在應該如何正確實施它? $ row ['']不起作用。但是,謝謝你已經! – Doe 2015-02-24 13:47:46

+0

我覺得這個提示應該足以讓你開始。請做出一些努力。 (你將有一個$查詢和一個$ row,其他的幾乎都是一樣的)。如果您無法獲得SQL聯接工作,請創建一個新帖子以提出有關該問題的更多問題。祝你好運 – bpgergo 2015-02-24 13:58:32

+1

是的,我努力了。非常感謝。 – Doe 2015-02-25 09:33:44

相關問題