Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql]-usunięcie rekordu z bazy danych
----mako----
post 7.12.2007, 20:36:26
Post #1





Goście







Witam
Do skryptu wyświetlającego pliki z bazydanych chcialbym dodać opcje usunięcia danego rekordu ale coś nie mogę sobie z tym poradzić ... okolice [30]wiersza będe wdzięczny za Pomoc ewntualnie sugestie

Całość wygląda w ten sposób
  1. <?php
  2.  
  3. $first = TRUE; //Initialize the variable.
  4.  
  5. $query = "SELECT upload_id, file_name, ROUND(file_size/1024) AS fs, description,
  6. DATE_FORMAT(upload_date, '%M %e, %Y') AS d FROM uploads ORDER BY upload_date DESC";
  7. $result = mysql_query ($query);
  8.  
  9. //Display all the URLs
  10. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  11.  
  12. //If this is the first record then create the table header
  13. if ($first) {
  14. echo '<table border="1" width="383" cellspacing="3" cellpadding="3" align="center">
  15. <tr>
  16. <td align="left" width="20%"><font size="1px" color="#EDE3EB"><b>Nazwa Pliku</b></font></td>
  17.  
  18. <td align="center" width="20%"><font size="1px" color="#EDE3EB" >Wielkosć</font></td>
  19. <td align="left" width="20%"><font size="1px" color="#EDE3EB" >Data</font></td>
  20. <td align="left" width="40%"><font size="1px" color="#EDE3EB" >Opis</font></td>
  21. </tr>';
  22. } //End of first IF
  23.  
  24. //Display each record
  25. echo " <tr>
  26. <td align=\"left\" class=\"ramka2\"><font color=\"white\"><a href=\"/inc/uploads/{$row['file_name']}\">{$row['file_name']}</a></font></td>
  27.  
  28. <td align=\"center\"class=\"ramka2\" ><font color=\"black\">{$row['fs']}kb</font></td>
  29. <td align=\"left\"class=\"ramka2\" ><font color=\"black\">{$row['d']}</font></td>
  30. <td align=\"left\"class=\"ramka2\" ><font color=\"black\"><a href=\"\">Usuń</a></td>
  31. </tr>\n";
  32.  
  33. $first = FALSE; //one record has been returned
  34. } //End of while loop
  35.  
  36. //If no records were displayed...
  37. if($first) {
  38. echo '<div align="center"> There are currently no files to be viewed.</div>';
  39. } else {
  40. echo '</table>'; //Close table
  41. }
  42.  
  43. $result = mysql_query ($query) or die("Query failed: $query - ".mysql_error());
  44. mysql_close(); //Close the db connection
  45.  
  46. ?>
Go to the top of the page
+Quote Post
JaRoPHP
post 7.12.2007, 20:55:13
Post #2





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(---mako--- @ 7.12.2007, 20:36:26 ) *
chcialbym dodać opcje usunięcia danego rekordu ale coś nie mogę sobie z tym poradzić
W skrypcie oprócz odsyłacza o treści USUŃ nie masz nic, co by pozwolało naprowadzić nas, jak chcesz to usunąć.
Moje sugestie:
- adres url-a powinien być w postaci: "?action=delete&id=7"
- skrypt usuwający rekord, powinien sprawdzić, czy jest akcja 'delete', a następnie (jeżeli warunek poprzedni jet prawdziwy) wykonać zapytanie MySQL-a DELETE...
- dodatkowo dałbym jakiś hash, aby upewnić się, że rekord jest tym, który chcę usunąć (więc odsyłacz w postaci: "?action=delete&id=7&hash=jakisHash", a warunek składni DELETE, np.: WHERE id=$_GET['id] AND MD5(pole) = $_GET['hash']).


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
----mako----
post 7.12.2007, 21:26:38
Post #3





Goście







Ok więc link ma postać
  1. <?php
  2. <a href=&#092;"usun.php?uid={$row['upload_id']}\">Usuń</a>
  3. ?>

A usuń.php narazie wygląda w ten sposób
  1. <?phpinclude ('header.inc');
  2. if (isset($_GET['uid']))
  3. {
  4. $uid = (int) $_GET['uid'];
  5. }
  6. else {$uid = 0;
  7. }
  8.  
  9. if ($uid > 0) //if ok
  10. {
  11. require_once ('./config.php');
  12. mysql_query ("DELATE FROM uploads WHERE upload_id=$uid");
  13. }
  14. include ('stopka.inc');
  15. ?>

Ale nic się nie dzieje GDZIE ? mam błąd A może czegoś nie rozumiem
Go to the top of the page
+Quote Post
--slawko--
post 7.12.2007, 21:35:55
Post #4





Goście







  1. <?php
  2. mysql_query ("DELATE FROM uploads WHERE upload_id=$uid");
  3. ?>


Powinno być DELETE
Go to the top of the page
+Quote Post
nospor
post 7.12.2007, 21:36:55
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




DELATE - poszukaj w manualu czy uda ci sie znaleść taką komende... jak znajdziesz to masz u mnie garnczek miodu

A na przyszlosc pisz tak:
  1. <?php
  2. $sql = 'zapytanie....';
  3. mysql_query($sql) or die('zapytanie: '.$sql.'----blad:'.mysql_error());
  4. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
----mako----
post 7.12.2007, 21:42:06
Post #6





Goście







jest DELETE Literówka efekt ten sam niby coś się dzieje a w bazie jest i tak
Go to the top of the page
+Quote Post
----mako----
post 7.12.2007, 22:15:05
Post #7





Goście







Jest oki PIEĘKNIE DZIĘKUJE ZA POMOC :-)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.06.2025 - 11:14