Witam, mam taki oto problem. Posiadam skrypt uploadujący pliki na serwer i dodający rekordy do bazy danych. Postanowiłem dopisać do niego usuwanie rekordów i efekt jest taki, że pod pojedynczym wpisem wyświetlającym link do pliku skrypt wypisuje mi link usuwający tyle razy ile jest wpisów w bazie zamiast pojedynczo do każdego pliku. Pomoże ktoś?

Z góry dziękuję za pomoc
  1. if ($result->numrows() > 0)
  2. {
  3. echo '<table border="0" cellspacing="0" cellpadding="5" width="100%" style="border-collapse:collapse;border:none;">';
  4. echo '<tr style="background-color:#cfcfcf;">
  5. <td align="left"><b>Link</b></td>
  6. </tr>';
  7.  
  8. while($dane = $result->fetch())
  9. {
  10.  
  11.  
  12.  
  13. $v = $sciezka.$dane['plik'];
  14.  
  15. echo '<tr>
  16. <td>';
  17. echo '<tr>
  18. <td>
  19. <b>Link:</b><br />
  20. <input type="text" readonly="readonly" value="http://www.'.$link.'/'.$v.'" style="font-size:11px;width:400px;" />
  21. <br /><br />';
  22. $wynik = mysql_query("SELECT * FROM $tbl_pliki") or die('Błąd zapytania');
  23. $a = trim($_GET['a']);
  24. $id = trim($_GET['id']);
  25.  
  26. if($a == 'del' and !empty($id)) {
  27.  
  28. /* usuwamy rekord */
  29. mysql_query("DELETE FROM $tbl_pliki WHERE id='$id'") or die('Błąd zapytania: '.mysql_error());
  30.  
  31. echo 'Rekord został usunęty z bazy';
  32. }
  33.  
  34. /*
  35. wyświetlamy wyniki, sprawdzamy,
  36. czy zapytanie zwróciło wartość większą od 0
  37. */
  38. if(mysql_num_rows($wynik) > 0) {
  39. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  40.  
  41. while($r = mysql_fetch_assoc($wynik)) {
  42. echo"<a href=\"index.php?a=del&amp;id={$r['id']}\">DEL</a>";
  43.  
  44. }
  45.  
  46. }
  47.  
  48.  
  49. echo' </td>
  50. </tr>';
  51.  
  52. }
  53.  
  54. echo '</table>';
  55.  
  56. }