Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] update wielu rekordów na raz
webber
post
Post #1





Grupa: Zarejestrowani
Postów: 107
Pomógł: 19
Dołączył: 30.10.2007

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


Witam,

Banał pewnie, no ale cóż. Nie mogę znaleźć i sobie z tym poradzić.

Mam rekordy w bazie danych:

id / fraza

1. Jakiś tekst
2. Jakiś tekst
3. Jakiś tekst

Teraz na stronie mam coś takiego:
  1. $SQL = "SELECT * FROM cms_originalTranslate ORDER BY id ASC";
  2. $result = mysql_query($SQL);
  3.  
  4. echo'<form action="translate.php?action=editTranslatePL" method="post">
  5. <fieldset>';
  6. while ($db_field = mysql_fetch_assoc($result)) {
  7.  
  8. echo'
  9.  
  10. <p>
  11. <label>Tekst:</label>
  12. <input type="text" class="text-long" name="translate[]" value="'.$db_field["translate"].'" /></p>
  13.  
  14. <input type="hidden" value="'.$db_field["id"].'" name="id[]" />
  15. ';
  16. }
  17. echo'<input type="submit" value="zmień" /></fieldset>
  18. </form>';
  19. }


Wyświetlają mi się 3 inputy, wynik tablicy translate[]:

Array ( [0] => jakis tekst 1 [1] => jakis tekst 2 [2] => jakis tekst 3 )

id[]

Array ( [0] => 1 [1] => 2 [2] => 3 )

Tak to powinno być chyba smile.gif

Teraz muszę wykonać zapytanie jednakże nie wiem jak napisać pętle...

Mam coś takiego:
  1. foreach ( $id as $i ) {
  2. foreach ( $translate as $text )
  3. {
  4. echo '<br>'.$text;
  5. $SQL = "UPDATE tabela SET fraza='$text' WHERE id='$i'";
  6. $result = mysql_query($SQL);;
  7. echo'sukces';
  8. }
  9. }


Jednakże nie działa smile.gif

Może mnie ktoś nakierować jak to powinno wyglądać?





--------------------
"CSS is like a girlfriend. No matter how hard you try, she will always interpret it a different way."
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Unik2psc
post
Post #2





Grupa: Zarejestrowani
Postów: 16
Pomógł: 1
Dołączył: 27.07.2009

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


  1. <input type="text" class="text-long" name="translate[]" value="'.$db_field["translate"].'" />
zamien na
  1. <input type="text" class="text-long" name="translate[TU_ID]" value="'.$db_field["translate"].'" />


i przy update
  1. forach($_POST['translate'] as $id => $value)
  2. {
  3. // jakies tam czynnosci
  4. i SQL UPDATE NAZWA_TABELI SET 'cos_tam'=$value WHERE id=$id;
  5. }


taki przyklad mysle ze sobie poradzisz.

//
  1. <input type="hidden" value="'.$db_field["id"].'" name="id[]" />

to nie potrzebne
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 - 02:25