Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Jak zmienić wszystkie rekoedy?
Forum PHP.pl > Forum > Przedszkole
harbii
Wyciągam sobie dane z bazy

  1. <form ....>

  1. <?php
  2. $zapytanie = "SELECT * FROM baza";
  3. $wykonaj = mysql_query($zapytanie);
  4. while($dane = mysql_fetch_array($wykonaj))
  5. {
  6. $tsymbol = $dane['symbol'];
  7. $tnazwa = $dane['nazwa'];
  8.  
  9. echo '<tr><td>';
  10. echo '<input type="text" name="tsymbol" size="30"  value="'.$tsymbol .'" /></td><td>';
  11. echo '<input type="text" name="tnazwa" size="30"  value="'.$tnazwa . '" /></td></tr>';
  12. ?>

  1. <input type="submit" value="Popraw" class="button"></form>


otwiera mi się ok 100 rekordów

jak teraz napisać update aby zmienił wszystkie zmienione rekordy w powyższym form?
trike
Z tego co rozumiem to masz formularz do edycji rekordow w bazie, wysylasz formularz, stworz drugi plik ktory bedzie zamienial dane odpowiednio a zapytanie do bazy wygladalo by nastepujaco:
  1. <?php
  2. $zapytanie = 'UPDATE tabela SET rekord_tabeli = '...' WHERE id_rekordu = 'id_rekordu;
  3. ?>

a jak chcesz zeby zmienil do wszystkich za jednym razem no to musialbys np dodawac id_rekordow do pol formularza zebys potrafil rozroznic ktory rekord zmienic, np ukrytym polem
harbii
no tak to wiem ale jak zrobie

  1. <?php
  2. $zapytanie = "SELECT * FROM baza";
  3. $wykonaj = mysql_query($zapytanie);
  4. while($dane = mysql_fetch_array($wykonaj))
  5. {
  6. $id = $dane['id'];
  7. $tsymbol = $dane['symbol'];
  8. $tnazwa = $dane['nazwa'];
  9. ...
  10. ?>



i w pliku, który zapisuje:

  1. <?php
  2. $zapytanie = "UPDATE baza SET symbol = '$tsymbol' , nazwa = '$tnazwa' ,  WHERE id = '$id' ";
  3. ?>



to zmieni mi tylko ostatni rekord a nie wszystkie naraz
trike
Pewnie robisz tak ze dla kazdego rekordu masz te same pola, a wiec nadpisujesz dane. W pliku gdzie wyswietlasz te rekordy musialbys identyfikowac te pola najlepiej z id_rekordu, czyli:
  1. <?php
  2. echo '<input type="text" name="tsymbol_".$id_rekordu."" size="30"  value="'.$tsymbol .'" /></td><td>';
  3. echo '<input type="text" name="tnazwa_".$id_rekordu."" size="30"  value="'.$tnazwa . '" /></td></tr>';
  4. ?>

no i wtedy masz zmienne do kazdego rekordu. Dorzucilbym jeszcze ukryte pole z id_rekordu i wedlug tego pozniej przeszukiwal za tsymbol i tnazwa zeby spasowaly do danego rekordu. Pomysl na edycje takiej ilosci rekordow nie wydaje mi sie efektowny za bardzo.
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.