Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]usuwanie rekordu z bazy
Forum PHP.pl > Forum > Przedszkole
kalafoon
Witam,
przewertowałem wszystkie posty na ten temat i przerabialem pod swoja baze wszystkie kody, ktore znalazlem ale nei udalo mi sie tego zrobic, dlatego prosze o pomoc.
Mam tabele w bazie danych produkty

W tabeli są takie kolumny:
ID_Produktu (auto inkrementacja)
NazwaProduktu
InfoMale
InfoDuze
Cena
CenaNaWylacznosc
DataDodania


I teraz z poziomu php wyswietlam tą tabele - ponizej jest caly moj kod php:
  1. <?
  2. $connection = @mysql_connect('localhost', 'root', '') 
  3. or die('Brak polaczenia z serwerem MySQL.<br />Blad: '.mysql_error()); 
  4. $db = @mysql_select_db('sklep') 
  5. or die('Nie moge polaczyc sie z baza danych<br />Blad: '.mysql_error()); 
  6.  
  7. $select = mysql_query("Select ID_Produktu, NazwaProduktu, InfoMale FROM produkty ORDER BY ID_Produ
    ktu"
    );
  8.  
  9. '<table style="border-top-style: groove;" border="1" width="100%" class="text" cellspacing="2" cellpadding="2">
  10. <tr>
  11. <td width="4%" bgcolor="gray">ID</td>
  12. <td width="80%" bgcolor="gray">Opis</td>
  13. <td width="16%" bgcolor="gray">Akcje</td>';
  14.  
  15. while ($wiersz = mysql_fetch_array($select, MYSQL_NUM)) {
  16. echo '<tr><td>'; 
  17. printf ("%s", $wiersz[0]); 
  18. echo '</td><td>';
  19. printf ("%s", $wiersz[1]); 
  20. echo '</td><td align="center">
  21.  
  22. TUTAJ POWINNY ZNALEZC SIE WPISY DO EDYCJI I USUWANIA REKORDU
  23.  
  24. echo' </td></tr>';
  25. }
  26. echo '</table>;
  27. ?>


Przy kazdym wierszu pobranym z bazy pojawiaja sie z prawej 2 linki EDYTUJ i USUN.
Ale jak zrobic zeby faktycznie usuwal i edytowal? Narazie wystarczy mi tylko usuwanie.

W miare mozliwosci prosilbym o pełne polecenie pod moj powyzszy skrypt bo z php jestem zielony i nie bardzo bede wiedzial jak to przerobic :/
dlatego pisze w Przedszkolu.
z gory bardzo dziekuje za odpowiedzi...
pozdrawiam serdecznie
bogdan89
  1. <?php
  2. echo '<a href="?akcja=usun&id='.$wiersz[0].'">usun</a>';
  3. ?>


  1. <?php
  2. if ($akcja == 'usun') {
  3. $id = $_GET['id'];
  4. @mysql_query("DELETE FROM produkty WHERE ID_Produktu='$id' LIMIT 1");
  5. }
  6. ?>
kalafoon
Powiedz mi jeszcze tylko gdzie to mam wpisac bo podales 2 odrebne kody i sie zgubilem tongue.gif
bogdan89
pierwszy kod to link "USUN"

drugi to instrukcja odpowiadajaca za usuwanie rekordu;
daj go na początku dokumentu PHP;
kalafoon
jeeeee - DZIALA exclamation.gif smile.gif nawet nie wiesz ile sie z tym meczylem - naprawde wielkie dzieki exclamation.gif
a da sie zrobic zeby automatycznie uzupelnial ID_Produktu bo gdy usuwam jakis rekord np 2, to pozostale ID_Produktu
zostaja takie same tzn
1
3
4

pozdrawiam i jeszcze rz wielkie dzieki exclamation.gif czarodziej.gif
Cysiaczek
Popraw proszę tytuł topiku na zgodny z zasadami forum Przedszkole

Tak ma być - powinny być unikalne. Jak chcesz porzadkowe, to zrób dodatkową kolumnę w tabeli.

Pozdrwiam.
bogdan89
jesli w bazie danych ustawione masz auto_increment to ja bym sie z takim czyms nie bawił

proponuje natomiast zamiast ID w pierwszej kolumnie podać liczbę porządkową;

daj (9 wiersz i okolice):
  1. <?php
  2. $lp = 0;
  3. while ($wiersz = mysql_fetch_array($select, MYSQL_NUM)) {
  4. $lp=$lp+1;
  5. ?>


i zamiast $wiersz[0] w pierwszej kolumnie wpisz $lp;
kalafoon
Cysiaczek - nie wiem gdzie to zmienic - moze nie widze tej opcji bo nie ejstem zarejestrowany?!

wielkie dzieki za odpowiedzi !
kalafoon
a majac taki kod co wpisac w miejsce tych znakow zapytania na dole zeby mozna bylo edytowac taki rekord jak podalem w pierwszym poscie.
wiem ze trzeba formularz zrobic ale on ma byc w tym pliku czy osobnym? jak mialoby to wygladac ?

  1. <?
  2. $connection = @mysql_connect('localhost', 'root', '') 
  3. or die('Brak polaczenia z serwerem MySQL.<br />Blad: '.mysql_error()); 
  4. $db = @mysql_select_db('sklep') 
  5. or die('Nie moge polaczyc sie z baza danych<br />Blad: '.mysql_error()); 
  6.  
  7. $select = mysql_query("Select ID_Produktu, NazwaProduktu, InfoMale, Cena, DataDodania FROM produkt
    y ORDER BY ID_Produktu"
    );
  8.  
  9. if ($akcja == 'usun') {
  10. $id = $_GET['id'];
  11. @mysql_query("DELETE FROM produkty WHERE ID_Produktu='$id' LIMIT 1");
  12. }
  13.  
  14. '<table width="100%" style="border-top-style: groove;" border="1" width="100%" class="text" cellspacing="2" cellpadding="2">
  15. <tr>
  16. <td width="4%" bgcolor="gray">ID</td>
  17. <td width="20%" bgcolor="gray">Nazwa</td>
  18. <td width="40%" bgcolor="gray">Opis</td>
  19. <td width="10%" bgcolor="gray">Cena</td>
  20. <td width="10%" bgcolor="gray">Data Dodania</td>
  21. <td width="30%" bgcolor="gray">Akcja</td>';
  22.  
  23. while ($wiersz = mysql_fetch_array($select, MYSQL_NUM)) {
  24. echo '<tr><td>'; 
  25. printf ("%s", $wiersz[0]); 
  26. echo '</td><td>';
  27. printf ("%s", $wiersz[1]); 
  28. echo '</td><td>';
  29. printf ("%s", $wiersz[2]); 
  30. echo '</td><td>';
  31. printf ("%s", $wiersz[3]); 
  32. echo '</td><td>';
  33. printf ("%s", $wiersz[4]); 
  34. echo '</td><td align="center">
  35.  
  36. <a href=??????????????????????[Edytuj]</a> 
  37.  
  38. <a href="?akcja=usun&id='.$wiersz[0].'">[Usun]</a>';
  39.  
  40. echo' </td></tr>';
  41. }
  42. echo '</table>';
  43. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.