Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Edycja wierszy w tabeli
Forum PHP.pl > Forum > Przedszkole
rudashi
Witam,

rozpocząłem prace nad prostym formularzem edycji wielu wierszy z jednej tabeli (będzie ich max 20)
Z wyświetleniem ich to nie problem, ale już z UPDATE nie mogę sobie poradzić. Wiem, że gdzieś brakuje POST, ale ino nie mogę odnaleźć sensownego rozwiązania.
Całą funkcje z UPDATE (która i tak nie działa) skróciłem do samego zapytania.
Wszystkie pola miały by być edytowane za jednym razem.

Proszę o pomoc.
  1. <?php
  2.  
  3. include ('mysql_connect.php'); // polaczenie z baza danych
  4.  
  5. //menu
  6. echo('<center>
  7. <TABLE BORDER="2" WIDTH="20%">
  8. <tr>
  9. <td><a href="admin.php?id=wp">Podstrony</a></td>
  10. <td><a href="admin.php?id=op">Opcje</a></td>
  11. </tr>
  12. </table>
  13. </center>
  14. ');
  15.  
  16. //wyswietla podstrony
  17. if ($_GET['id']=="wp")
  18. {
  19. include ('page.php');
  20. }
  21.  
  22. //wyswietla opcje
  23. if ($_GET['id']=="op")
  24. {
  25. echo('<TABLE BORDER="1" WIDTH="550px" height="100px">
  26. <form action="admin.php?id=op&ed=1" method="post">');
  27.  
  28. $qr=mysql_query("SELECT opcje_id, opcje_nazwa, opcje_tresc FROM opcje ORDER BY opcje_id ASC");
  29. while($row=mysql_fetch_array($qr)){
  30. echo('<tr><td width="25%"><b>'.$lang[$row[opcje_nazwa]].'</b></td>
  31. <td><input type="text" size="35" id="'.$row[opcje_id].'" name='.$row[opcje_tresc].'" value="'.$row[opcje_tresc].'"></td></tr>');
  32. }
  33. echo('<tr><td></td><td><input type="submit" value="go"></td></tr> </form>');
  34. echo('</table>');
  35. }
  36. if($_GET['id']=="op" && $_GET['ed']=="1")
  37. {
  38. $qe="UPDATE opcje SET opcje_tresc='xxxx' WHERE opcje_id='xxxx' ";
  39. echo('<br>Poprawnie aktualizacja podstrone z bazy');
  40. }
  41. ?>
przemek_el
pomyśl nad użyciem

  1. foreach ($_POST as $key => $value) {
  2. $qe="UPDATE opcje SET opcje_tresc='".$value."' WHERE opcje_id='".$key."' ";
  3. }



w $key będziesz miał id z pola input a w $value będziesz miał opis.
17misiek09
przegladnij sobie temat:

Edycja tabeli
Daimos
Cytat(przemek_el @ 13.02.2012, 21:03:03 ) *
pomyśl nad użyciem

  1. foreach ($_POST as $key => $value) {
  2. $qe="UPDATE opcje SET opcje_tresc='".$value."' WHERE opcje_id='".$key."' ";
  3. }



w $key będziesz miał id z pola input a w $value będziesz miał opis.

w pętli to możesz sobie złożyć zapytanie, a nie za każdym obrotem walić do bazy, szczególnie, że nie ma takiej potrzeby

Co do tematu, w atrybucie name inputów wstaw nazwe opcja[idopcji].
  1. echo('<tr><td width="25%"><b>'.$lang[$row[opcje_nazwa]].'</b></td>
  2. <td><input type="text" size="35" id="'.$row[opcje_id].'" name="opcja['.$row[opcje_id].']" value="'.$row[opcje_tresc].'"></td></tr>');


Po wysłaniu pobierasz $_POST['opcja'], puszczasz w pętli jak kolega wyżej napisał, tylko zlepiasz sobie w niej zapytanie i po wykonaniu pętli wysyłasz zapytanie
rudashi
Pętla razem z
  1. name="opcja['.$row[opcje_id].']"
rozwiązała w całości problem.

Dzięki wielkie.
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.