Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] [mysql] usuwanie i edycja rekordów...
kononowicz
post
Post #1





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


witam.

poniżej jest kod wyświetlający tabelkę. Mam prośbę czy ktoś byłby w stanie wytłumaczyć mi jak usunąć i edytować dany wiersz tabeli?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? konkretnie o co chodzi w

  1. <?php
  2. <a href="index.php?a=del&id={$r['id']}">usuń</a>
  3. <a href="index.php?a=edit&id={$r['id']}">edytuj</a>
  4. ?>


prosiłbym w miarę łapotologicznie...

  1. <?php
  2. if(mysql_num_rows($wynik) > 0) {
  3. echo "<table cellpadding="2" border=1>";
  4. while($r = mysql_fetch_assoc($wynik)) {
  5. echo "<tr>";
  6. echo "<td>".$r['TOWARY']."</td>";
  7. echo "<td>".$r['KOD']."</td>";
  8. echo "<td>".$r['CENA']."</td>";
  9. echo "<td>".$r['DZIALY']."</td>";
  10. echo "<td>
  11.  <a href="index.php?a=del&id={$r['id']}">usuń</a>
  12.  <a href="index.php?a=edit&id={$r['id']}">edytuj</a>
  13.  </td>";
  14. echo "</tr>";
  15. }
  16. ?>


Z góry dziekuję (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) ! (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował kononowicz 14.11.2006, 15:25:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Neojawor
post
Post #2





Grupa: Zarejestrowani
Postów: 106
Pomógł: 1
Dołączył: 2.12.2005
Skąd: Jaworzno

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


skoro formularz jest pusty, to błąd pojawia się wcześniej. Ma to być tak:
selektem na pętli wyświetlasz wszystkie rekordy, i przy każdym jest przycisk "edytuj". Właściwie edytuj jest linkiem. Link ten ma mieć taką budowę, żeby w nim przesyłane były dane rekordu, a w zasadzie wystarczy przekazać ID rekordu
  1. <a href="edycja.php?id=$id">edytuj</a>

wtedy po wciśnięciu ładuje Ci się plik edycja.php, w którym jest taki sam formularz jak do wprowadzania, z tą różnicą, że wcześniej w pliku robisz sobie:
  1. <?php
  2. $id=$_GET['id'];
  3. ?>

Mając już w pliku edytuj.php id rekordu który chcemy edytować robimy selekta na ten rekord, a dane z niego ładujemy do formularza w taki sposób:
  1. <?php
  2. $wynik = mysql_query( "SELECT ....... ");
  3. $wiersz = mysql_fetch_array($wynik);
  4. $towar=$wiersz['towary']
  5. ?>
  6. <input type="text" name="tytul" value="<?php echo $dana_rekordu; ?>" size=50>

W ten sposób masz wypełniony formularz.
Zamiast wykonywać tego selekta można wszystkie dane przesłać metodą GET (tak jak to zrobiłem z ID) - jest to szybsze (czas wykonania skryptu jest krótszy), ale wtedy w adresie url ujawniasz budowę tabeli.

EDIT:

To powyżej to jest rozwiązanie na osobnych plikach. Jest to bardziej obszerny kod (pliki niestety więcej warzą), ale jest to znacznie czytelniejsze dla początkujących (sam tak to robię).

Ciąg dalszy wygląda tak, że gdy przeedytujesz dane w formularzu, to wciskając submita przenosi cię do kolejnego pliku, np. update.php (oczywiście musi być <form action="update.php>).
W pliku update dajesz polecenie:
  1. <?php
  2. mysql_query("UPDATE towary SET towar = '$towar'... WHERE id = $id");
  3. ?>

Wcześniej jednak musisz w zmienną $towar wsadzić wartość z formularza, a więc jeśli pole formularza w które wpisuje się nazwę towaru miało name="dupamaryny", to wpisujesz przed tym mysql_query taką linijkę:
  1. <?php
  2. $towar=$_POST['dupamaryny'];
  3. ?>

i tu jest koniec. Dodajesz jeszcze tylko jakieś echo, że zmiany zostały dokonane i link powrotu do spisu towarów.

Tak w sumie, to powinieneś całą przygodę z formularzami zacząć od poznania metod GET i POST - dopiero jak zrozumiesz o co w tym chodzi będziesz mógł w pełni rozumnie napisać formularz do obsługi treści bazy danych. Na przykłąd zacznij tu:
http://pl2.php.net/manual/pl/language.variables.external.php

Ten post edytował Neojawor 16.11.2006, 19:35:34
Go to the top of the page
+Quote Post

Posty w temacie
- kononowicz   [php] [mysql] usuwanie i edycja rekordów...   13.11.2006, 13:47:23
- - wipo   Usuwanie to po prostu daj if (is_numeric($_GE...   13.11.2006, 15:28:16
|- - kononowicz   Cytat(wipo @ 13.11.2006, 15:28:16 ) U...   13.11.2006, 16:03:30
|- - grattz   Przeczytałem cały temat uważnie ale nie mogę sobie...   19.11.2006, 20:41:07
- - wipo   Nie widze dokładnie jaką masz tabele zobacz na zap...   13.11.2006, 16:09:17
- - kononowicz   oczywiście tabele zmieniłem - `towary` co...   13.11.2006, 16:11:40
- - wipo   a wpisz mysql_error();   13.11.2006, 16:15:24
- - Neojawor   nie wiem czy dobrze łapię, bo jestem jeszcze raczk...   13.11.2006, 16:22:56
- - kononowicz   oto cały kod tego skrytu do wyświetlania: [PHP] p...   13.11.2006, 16:28:43
- - wipo   Nie wiem czy zauważyłeś ale nie zgadza się wielkoś...   13.11.2006, 16:42:00
- - kononowicz   chodzi o ID tak?? zmieniłem i nadal nic   13.11.2006, 17:19:12
- - Neojawor   Ten kod: [HTML] pobierz, plaintext <a href=...   13.11.2006, 17:19:52
- - kononowicz   ten cały plik nazywa sie pokaz_test.php komunikat...   13.11.2006, 17:49:08
- - wipo   ale przez get przekazujesz małe id a nie duże   13.11.2006, 17:51:28
- - Neojawor   Więc wstaw to co ci wcześniej napisałem (kod usuwa...   13.11.2006, 17:57:28
- - skowron-line   [PHP] pobierz, plaintext <?phpif(isset...   13.11.2006, 19:16:34
- - kononowicz   a wiecie moze jak napisać mysql_query w skrypcie k...   13.11.2006, 20:38:10
- - skowron-line   [PHP] pobierz, plaintext <?phpmysql_query(...   13.11.2006, 21:48:44
|- - kononowicz   Cytat(skowron-line @ 13.11.2006, 21...   13.11.2006, 22:13:41
- - skowron-line   [PHP] pobierz, plaintext <?phpmysql_query('...   13.11.2006, 22:15:48
- - kononowicz   czy na prawdę na forum z fachowcami od phpa nikt n...   14.11.2006, 08:55:48
- - wipo   A którego masz php-a i mysql-a? Możliwe że masz st...   14.11.2006, 08:59:45
- - mike_mech   ~kononowicz a może zajrzysz tutaj: zasady panujące...   14.11.2006, 09:02:29
|- - kononowicz   Cytat(mike_mech @ 14.11.2006, 09:02:2...   14.11.2006, 11:53:53
|- - mike_mech   Cytat(kononowicz @ 14.11.2006, 11:53...   14.11.2006, 13:19:24
- - wipo   daj if ($a=="del")   14.11.2006, 11:57:41
- - skowron-line   a moze dac ci gotowca zebys sie nie meczyl??   14.11.2006, 15:55:01
|- - kononowicz   Cytat(skowron-line @ 14.11.2006, 15...   14.11.2006, 19:24:56
- - skowron-line   [PHP] pobierz, plaintext <?php //wyswietla...   14.11.2006, 19:37:36
|- - kononowicz   Cytat(skowron-line @ 14.11.2006, 19...   14.11.2006, 21:35:43
- - skowron-line   [PHP] pobierz, plaintext <?phpecho '<td> ...   14.11.2006, 22:39:32
- - kononowicz   dzięki skowron-line :] wszystko ładnie mi działa...   15.11.2006, 10:58:27
- - skowron-line   no ale nie ma zapytania do bazy wiec skad ma ci wy...   15.11.2006, 13:05:25
|- - kononowicz   Cytat(skowron-line @ 15.11.2006, 13...   15.11.2006, 13:41:53
- - skowron-line   [PHP] pobierz, plaintext <?phpwhile($wiersz...   15.11.2006, 15:03:36
- - kononowicz   DZIEKI WIELKIE!!!!! [PHP] pob...   15.11.2006, 15:24:57
- - Neojawor   dawno nie miałem do czynienia z SQL-em i nie pamie...   15.11.2006, 17:36:44
|- - kononowicz   Cytat(Neojawor @ 15.11.2006, 17:36:44...   15.11.2006, 19:24:32
- - Neojawor   Mam tylko jedno pytanie, skoro ma być update, czyl...   15.11.2006, 20:17:59
|- - kononowicz   Cytat(Neojawor @ 15.11.2006, 20:17:59...   15.11.2006, 22:33:31
- - skowron-line   a co nic nie dzieje p.s Polska na zawsze dobra ma...   15.11.2006, 22:51:25
- - Neojawor   1) Każde pole formularza musi mieć inne nazwy, żeb...   15.11.2006, 23:46:40
|- - kononowicz   Cytat(Neojawor @ 15.11.2006, 23:46:40...   16.11.2006, 00:11:20
- - skowron-line   Kodwłasnie nic nie jest zawarte... ani w edycja an...   16.11.2006, 13:41:53
|- - kononowicz   Cytat(skowron-line @ 16.11.2006, 13...   16.11.2006, 14:55:12
- - skowron-line   przemyslalem to i to co napisalem to blad. bo to c...   16.11.2006, 14:57:09
- - Neojawor   skoro formularz jest pusty, to błąd pojawia się wc...   16.11.2006, 19:19:51
- - sowa75   Witam!!! Możecie sklepać to w całość ...   16.11.2006, 21:25:43
- - kononowicz   grzebie się i grzebie z tą edycją i nic... po wcis...   17.11.2006, 20:18:04
- - skowron-line   KodCzytam o tym is-numeric ale nie bardzo rozumiem...   19.11.2006, 21:05:49
|- - grattz   Cytat(skowron-line @ 19.11.2006, 21...   19.11.2006, 21:28:21
- - skowron-line   wczesniej jest napisany skrypt zobacz jak tam jest...   19.11.2006, 21:37:42


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

 



RSS Aktualny czas: 11.10.2025 - 17:45