Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Edycja wielu rekordów
arek33
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 24.02.2009

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


Szukałem, ale znaleźć nie mogę... Chodzi mi o edytowanie wielu rekordów.

Załóżmy, że mamy w bazie danych tabelę o nazwie 'abc' z rekordami:

id = 1
parametr1 = tak
parametr2 = nie

id = 2

parametr1 = tak
parametr2 = tak

Chcę odtworzyć oba id w tym samym czasie i równocześnie je edytować. Jak można tego dokonać, jakieś wskazówki? Nigdzie w sieci nie znalazłem czegoś takiego.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Grzyw
post
Post #2





Grupa: Zarejestrowani
Postów: 561
Pomógł: 75
Dołączył: 19.08.2004
Skąd: Wrocław

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


Cześć, co rozumiesz przez odtwarzanie i edycję? Opisz dokładniej, co chcesz zrobić.


--------------------
Idąc po czyichś śladach, nie zajdziesz ani kroku dalej...
Go to the top of the page
+Quote Post
arek33
post
Post #3





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 24.02.2009

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


Mam możliwość edytowania rekordów w bazie, ale pojedynczo, na wejściu podaję id rekordu. Poniżej przedstawiam kod:
  1. <?php
  2.  
  3. $id=$_GET['id'];
  4. $query=" SELECT * FROM abc WHERE id='$id'";
  5. $result=mysql_query($query);
  6. $num=mysql_numrows($result);
  7.  
  8. $i=0;
  9. while ($i < $num) {
  10. $p1=mysql_result($result,$i,"p1");
  11. $p2=mysql_result($result,$i,"p2");
  12. ++$i;
  13. } ?>
  14. <div id="edycja">
  15. <form action="edytuj.php?id=<?php echo $id; ?>" method="post" class="form">
  16. <input type="hidden" name="ud_p1" value="<?php echo $id; ?>">
  17. <dl>
  18. <dt>
  19. <label for="p1">p1:</label>
  20. </dt>
  21. <dd>
  22. <input type="text" name="ud_p1" value="<?php echo $p1; ?>">
  23. </dd>
  24. <dt>
  25. <label for="p2">p2:</label>
  26. </dt>
  27. <dd>
  28. <input type="text" name="ud_p2" value="<?php echo $p2; ?>">
  29. </dd>
  30.  
  31.  
  32. <dd>
  33. <input type="submit" class="submit" width="100px" value="Aktualizuj">
  34. </dd>
  35. </dl>
  36. </form>
  37. </div>
  38.  
  39. <?php
  40. $ud_p1=$_POST['ud_p1'];
  41. $ud_p2=$_POST['ud_p2'];
  42.  
  43. require('../config.php');
  44.  
  45. $update = mysql_query("UPDATE abc SET p1='$ud_p1', p2='$ud_p2' WHERE id='$id'");
  46.  
  47. if(!empty($_POST['submit'])){
  48. echo "ok"; }
  49. else { }


Interesuje mnie edytowanie kilku rekordów. smile.gif
Go to the top of the page
+Quote Post
RiE
post
Post #4





Grupa: Zarejestrowani
Postów: 97
Pomógł: 45
Dołączył: 5.05.2010

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


Musisz w zapytaniu w warunku WHERE podac kryterium, jakie musza spelnic rekordy, ktore maja byc 'poprawione'. Jezeli jest to mala ilosc to mozesz posluzyc sie dodatkowym argumentem AND, ale na dluzsza mete jest to niehumanitarne dla Twojej bazy

Przyklad z uzyciem AND:
  1. $update = mysql_query("UPDATE abc SET p1='$ud_p1', p2='$ud_p2' WHERE id='$id' AND id='$id2'");
Go to the top of the page
+Quote Post
nospor
post
Post #5





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




RiE naprawdę myślisz, że jakiś rekord ma jednocześnie id 1 i id 2 ?


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

"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
Valdi_B
post
Post #6





Grupa: Zarejestrowani
Postów: 107
Pomógł: 30
Dołączył: 19.02.2011
Skąd: Warszawa

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


Schemat postępowania:

1. Odczytaj z bazy oba rekordy.
2. Wyświetl dane z 1-go w jednym zestawie pól formularza, dane z 2-go w 2-gim zestawie pól.
3. Gdy użytkownik kliknie submit, to dostajesz dane po aktualizacji.

Wówczas:
1, Na podstawie danych z 1-go kompletu pól zmontuj kwerendę UPDATE (i wykonaj).
2. Analogicznie dla danych z 2-go kompletu pól.

Co do kwerendy z poprzedniego postu - nawet po jej przerobieniu na coś w rodzaju
UPDATE ... WHERE id='$id' OR id='$id2'
da ona o tyle "nieciekawy" efekt, że jednym kompletem wartości zaktualizujesz obydwa rekordy. Chyba nie o to chodzi.

Jeszcze inna sugestia: http://phpgrid.com/documentation/
(ale tę stronę znalazłem dopiero teraz i nie mam żadnych wcześniejszych doświadczeń z narzędziami tego typu).
Nie jest to co prawda oprogramowanie darmowe, ale możesz poszukać czegoś podobnego (darmowego).

Ten post edytował Valdi_B 23.02.2011, 11:09:35
Go to the top of the page
+Quote Post
RiE
post
Post #7





Grupa: Zarejestrowani
Postów: 97
Pomógł: 45
Dołączył: 5.05.2010

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


Cytat(nospor @ 23.02.2011, 09:30:19 ) *
RiE naprawdę myślisz, że jakiś rekord ma jednocześnie id 1 i id 2 ?

Rzeczywiscie, przepraszam za wprowadzenie w blad. Bede mial nauczke zeby myslec na przyszlosc
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 - 07:48