Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak wykonać UPDATE kilku ID jednym SUBMIT-em?
Soulast
post
Post #1





Grupa: Zarejestrowani
Postów: 133
Pomógł: 6
Dołączył: 26.10.2009

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


Mam ciągle jeden ten sam problem i nigdzie nie mogę znaleźć ani odpowiedzi a także rozwiązania.

Cytat
Mając przykładowo tabele :

ID|NAZWA| PUNKTY
----------------------
1 | DATA1 | 0
2 | DATA2 | 0
3 | DATA3 | 0
4 | DATA4 | 0


Wykonuje pętle
  1. <form method='post'>
  2. <table cellpadding='1' cellspacing='1' border='0'>";
  3.  
  4. $sql = mysql_query("SELECT * FROM moja_tabela");
  5. while ($dane= mysql_fetch_array($sql)){
  6. echo"
  7. </tr>
  8. <tr>
  9. <td>NAZWA </td>
  10. <td>PUNKTY</td>
  11. </tr>
  12.  
  13. <tr valign='top'>
  14. <td><input type='text' name='dane[nazwa]' value='$dane[nazwa]' maxlength='20' size='20' /></td>
  15. <td><input type='text' name='dane[punkty]' value='$dane[punkty]' maxlength='20' size='20' /></td>
  16. </tr>
  17. <input type='hidden' name='dane[]' value='$dane[id]'>";
  18. }
  19. echo"<tr>
  20. <td colspan='2''>
  21. <input type='hidden' name='act' value='update_dane'>
  22. <input type='submit' name='submit' value='Update' />
  23. </td>
  24. </tr>
  25. </table>
  26. </form>

Wrzucam je do bazy przy pomocy funkcji oraz switcha:
  1.  
  2. $sql = mysql_query("UPDATE moja_tabela SET nazwa= '$brack[nazwa]',punkty= '$brack[punkty]' WHERE id='$dane[id]'")or die(mysql_error());


Ktoś może zna na to jakiś sposób?bo puki co mój zawsze robi update tylko ostatniego ID

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Soulast
post
Post #2





Grupa: Zarejestrowani
Postów: 133
Pomógł: 6
Dołączył: 26.10.2009

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


Mimo wszystko po 3ch dniach męki znalazłem rozwiązanie.

Oto poniższy działający już przykład :

  1. <form method='post'>
  2. <table cellpadding='1' cellspacing='1' border='0'>";
  3.  
  4. $sql = mysql_query("SELECT * FROM moja_tabela");
  5. while ($dane= mysql_fetch_array($sql)){
  6. echo"
  7. </tr>
  8. <tr>
  9. <td>NAZWA </td>
  10. <td>PUNKTY</td>
  11. </tr>
  12.  
  13. <tr valign='top'>
  14. <td><input type='text' name='dane[".$dane['id']."][nazwa]' value='$dane[nazwa]' maxlength='20' size='20' /></td>
  15. <td><input type='text' name='dane[".$dane['id']."][punkty]' value='$dane[punkty]' maxlength='20' size='20' /></td>
  16. </tr>";
  17. }
  18. echo"<tr>
  19. <td colspan='2''>
  20. <input type='hidden' name='act' value='update_dane'>
  21. <input type='submit' name='submit' value='Update' />
  22. </td>
  23. </tr>
  24. </table>
  25. </form>

Wrzucam dane przy pomocy funkcji:
  1. function update_dane ($dane){
  2.  
  3. global $config;
  4.  
  5. foreach($dane as $id=> $array) {
  6. $var1= trim(strip_tags($array['nazwa']));
  7. $var2= trim(strip_tags($array['punkty']));
  8. $sql = mysql_query("UPDATE moja_tabela SET nazwa= '$var1',punkty= '$var2' WHERE id=$id")or die(mysql_error());
  9. }
  10.  
  11.  
  12. }

Podaje ten przykład ponieważ w moim wypadku się sprawdził także może ktoś kto czegoś podobnego szuka może i skorzysta (IMG:style_emoticons/default/winksmiley.jpg)

Ten post edytował Soulast 4.11.2010, 17:22:04
Go to the top of the page
+Quote Post

Posty w temacie


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: 17.10.2025 - 06:18