Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Edycja i usuwanie rekordów
ten_typ
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 1
Dołączył: 25.12.2008
Skąd: Żory

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


Witam, znów mam problem.

Zalazłem skrypt, przerobiłem trochę ale 1 rzecz mi nie wychodzi. Skrypt pokazuje wszystkie rekordy, przy kliknięciu na "usuń" usuwa, i pokazuje wszystkie rekordy po aktualizacji. Z edycją jest podobnie - jak dam edytuj - wyświetla się formularz do zmian, przy czym wszystkie rekordy są wyświetlane poniżej formularza. Chciałbym, aby po kliknięciu na edytuj pokazał się formularz ale zniknął listening rekordów. Pomoże ktoś ?

  1. <?
  2.  
  3.    $connection = @mysql_connect('host', 'xyz', '123')
  4.    or die('Brak połączenia z serwerem MySQL');
  5.    $db = @mysql_select_db('db', $connection)
  6.    or die('Nie mogę połączyć się z bazą danych');
  7.    
  8.  
  9. if ($_POST['x'] == 'popraw') {
  10. if ($_POST['nazwa_poziomu'] && $_POST['opis_poziomu']) {
  11. $query = "UPDATE poziom SET nazwa_poziomu='".$_POST['nazwa_poziomu']."', opis_poziomu='".$_POST['opis_poziomu']."' WHERE id_poziomu='".$_POST['id_poziomu']."'";
  12. $wynik = mysql_query ($query);
  13. }
  14. } elseif ($_GET['x'] == 'edytuj') {
  15. $query = "SELECT * FROM poziom where id_poziomu='".$_GET['id_poziomu']."'";
  16. $wynik = mysql_query ($query);
  17. $rekord = mysql_fetch_assoc ($wynik);
  18. $id_poziomu = $rekord['id_poziomu']; $nazwa_poziomu = $rekord['nazwa_poziomu']; $opis_poziomu = $rekord['opis_poziomu'];
  19. echo   '<form method="post">Poprawa rekordu:<input type="hidden" name="x" value="popraw">
  20.        <input type="hidden" name="id_poziomu" value="'.$id_poziomu.'">
  21.        <table>
  22.        <tr><td>Nazwa poziomu:</td><td><input type="text" name="nazwa_poziomu" value="'.$nazwa_poziomu.'"></td></tr>
  23.        <tr><td>Opis poziomu:</td><td><input type="text" name="opis_poziomu" value="'.$opis_poziomu.'"></td></tr>
  24.        </table>
  25.        <input type="submit" value="Edytuj"></form>';
  26.  
  27. } elseif ($_GET['x'] == 'skasuj') {
  28. $wynik = mysql_query("DELETE FROM poziom WHERE id_poziomu = '".$_GET['id_poziomu']."'");
  29. }
  30. $wynik = mysql_query ("SELECT * FROM poziom;");
  31. echo "<table border=2 align='center' cellspacing=2 cellpadding=2><tr>
  32.    <td align=left'><b>Nazwa poziomu</b></td>
  33.    <td align='left'><b>Opis poziomu</b></td>
  34.    <td align='left'></td><td align='left'></td></tr>\n";
  35. while ($rekord = mysql_fetch_assoc ($wynik)) {
  36. $id_poziomu= $rekord['id_poziomu'];
  37. $nazwa_poziomu = $rekord['nazwa_poziomu'];
  38. $opis_poziomu = $rekord['opis_poziomu'];
  39. echo "<tr>
  40.    <td align=\"left\">$nazwa_poziomu</td>
  41.    <td align=\"left\">$opis_poziomu</td>
  42.    <td align=\"left\"><a href=\"edit.php?x=skasuj&id_poziomu=$id_poziomu\">skasuj</a></td>
  43.    <td align=\"left\"><a href=\"edit.php?x=edytuj&id_poziomu=$id_poziomu\">edytuj</a></td></tr>\n";
  44.    "</TABLE>";
  45.  
  46. }
  47. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
krzyszbi
post
Post #2





Grupa: Zarejestrowani
Postów: 251
Pomógł: 13
Dołączył: 15.09.2005

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


masz warunki na akcje
  1. <?php
  2. // ciach ciach
  3. elseif ($_GET['x'] == 'skasuj') {
  4. $wynik = mysql_query("DELETE FROM poziom WHERE id_poziomu = '".$_GET['id_poziomu']."'");
  5. // po wykonaniu skasowania lub update to najlepiej przekierowanie bez parametru akcji
  6. }//daj else jak nie ma wybranej akcji
  7. else{
  8. $wynik = mysql_query ("SELECT * FROM poziom;");
  9. echo "<table border=2 align='center' cellspacing=2 cellpadding=2><tr>
  10.   <td align=left'><b>Nazwa poziomu</b></td>
  11.   <td align='left'><b>Opis poziomu</b></td>
  12.   <td align='left'></td><td align='left'></td></tr>\n";
  13. while ($rekord = mysql_fetch_assoc ($wynik)) {
  14. $id_poziomu= $rekord['id_poziomu'];
  15. $nazwa_poziomu = $rekord['nazwa_poziomu'];
  16. $opis_poziomu = $rekord['opis_poziomu'];
  17. echo "<tr>
  18.   <td align=\"left\">$nazwa_poziomu</td>
  19.   <td align=\"left\">$opis_poziomu</td>
  20.   <td align=\"left\"><a href=\"edit.php?x=skasuj&id_poziomu=$id_poziomu\">skasuj</a></td>
  21.   <td align=\"left\"><a href=\"edit.php?x=edytuj&id_poziomu=$id_poziomu\">edytuj</a></td></tr>\n";
  22.   "</TABLE>";
  23.  
  24. }
  25. }
  26. ?>


--------------------
Everything should be made as simple as possible, but not simpler. - A.Eainstein
Go to the top of the page
+Quote Post
ten_typ
post
Post #3





Grupa: Zarejestrowani
Postów: 58
Pomógł: 1
Dołączył: 25.12.2008
Skąd: Żory

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


Super, działa, dzięki ;-)
Jeszcze pytanko - po wykonaniu mam czystą stronę - jak sprawić, aby po usunięciu albo edycji ( jak już nie mam listeningu rekordów) dać link do odświeżenia?

  1. <?php
  2. echo "<a href='ed.php'>abc</a>";
  3. ?>


ale nie wiem w którym miejscu dać, żeby wyświetlił się dopiero po wykonaniu akcji ?

Ten post edytował ten_typ 29.12.2008, 23:56:06
Go to the top of the page
+Quote Post
krzyszbi
post
Post #4





Grupa: Zarejestrowani
Postów: 251
Pomógł: 13
Dołączył: 15.09.2005

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


przy obecnym kodzie to po każdym warunku z akcji a konkretniej po każdym zapytaniu do bazy ( update, delete ) czyli mniej więcej linia 13 i 31
p.s. ta numeracja jest jakoś krzywo ale po wykonaniu zapytania ( update, delete )


--------------------
Everything should be made as simple as possible, but not simpler. - A.Eainstein
Go to the top of the page
+Quote Post
adamz8
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 17.03.2007

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


Witam

A ja mam pytanie czy da się tak zrobić,że kiedy już z edytuje pole, to może zniknąć przycisk edytuj ? i żeby już drugi raz tego samego pola nie można było z edytować, skorzystałem z kodu podanego na początku strony trochę go przerobiłem

Proszę o odp
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 Aktualny czas: 22.08.2025 - 06:49