Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: update rekordu
Forum PHP.pl > Forum > Przedszkole
Gość_Mar
Witam, wyświetlam rekordy w wierszach, i chciałbym dodać do każdego wiersza przycisk powodujący update jednej kolumny, myślałem o funkcji switch, ale nie mogę sobie z tym poradzić. Np.

mam wpisy:
- wartość 1 - update kolumny dla wartości 1
- wartość 2 - update kolumny dla wartości 2
- wartość n - update kolumny dla wartości n

i tak dla każdego rekordu.

Pozdrawiam, i dziekuje za pomoc.
TomASS
Robisz sobie formularz, w nim umieszczasz swoje rekordy, robisz przyciski oraz jedno pole ukryte:

  1. <form method="POST" action="plik.php" name="formularz" id="formularz">
  2. wartość 1 <button onClick="javascript:zmien(1);">Zmien 1</button>
  3. wartość 2 <button onClick="javascript:zmien(2);">Zmien 2</button>
  4. ..........................................................
  5. wartość n <button onClick="javascript:zmien(3);">Zmien 1</button>
  6.  
  7. <input type="hidden" name="ID" id="ID" value=" ">
  8. </form>


i teraz funkcja javascript powinna zwyglądać:
  1. <script type="text/javascript" language="JavaScript">
  2. <!--
  3. function zmien(ID){
  4. document.getElementById(ID).value=ID;
  5. document.forms.oformularz.submit();
  6. }
  7. //-->


I teraz po kliknięciu na któryś przycisk, skrypt prześle dane do pliku plik.php (wywołaj print_r($_REQUEST); ).

To chyba na tyle, pisałem to szybko, zmęczony i zaspany, ale mam nadzieje, że o to chodziło i że nigdzie nie wkradł się błąd.

Powodzenia
openwater
Ciekawe rozwiązanie, ale ja tych rekoródów mam kilka set, więc zajęło by mi to kilka dni, tak jak pisałem myślałem o swith
  1. <?php
  2. switch ($_GET['id'])
  3. {
  4. case ("1"):
  5.  
  6.  $query = "UPDATE * FROM kolumna WHERE id=1";
  7.  
  8. break;
  9.  
  10. case ("2"):
  11. $query = "UPDATE * FROM kolumna WHERE id=2";
  12. break;
  13. ?>


i następnie tylko linki np.
Kod
<a href="edycja.php?id=1">edytuj</a>


I tak dla każdego rekoru, ale tak jak napisałem, rekordów mam kilkaset, więc takie rozwiazanie mija się z celem. Chyba, że da się wprowadzić jakoś zmienną do powyższego godu zamiast 1,2,3 itd aż do n winksmiley.jpg

Wymyśliłem coś takiego, ale to nie działa sadsmiley02.gif

  1. <?php
  2. switch ($_GET['id'])
  3.  {
  4. case $row[11]:
  5. $query2 = "UPDATE katalogi SET approved = 'N' WHERE kat_id =$row[11]";
  6. $result2 = mysql_query($query2); // update danych
  7. break;
  8. default:
  9. echo 'cos tam';
  10.  } 
  11. ?>
i to wrzucam do petli while.
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.