Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zmiana wartosci tabeli po jednym kliknieciu
Forum PHP.pl > Forum > Przedszkole
bezkarny.j
W sumie to na chwilę obecną mam ostatni problem. Potem robię przerwę od projektu zanim włosy sobie wyrwę.

Mam formularz, który wysyła dane do bazy danych. Następnie pole, w którym je wyświetla. Do każdej opcji mam jeszcze jej status, którą użytkownik ma za zadanie aktualizować przez kliknięcie jednego z 3 odnośników. W skrócie wzór tabeli:

tabelamoja
id | wartosc-z-form1 | wartosc-z-form2 | wartosc-z-form3 | wartosc-z-form4 | wartosc-z-form5 | statuswart1 | statuswart2 | statuswart3 | statuswart4 | statuswart5 |
01 | cos tam | cos tam | cos tam | cos tam | cos tam | <puste> | <puste> | <puste> | <puste> | <puste> |


I teraz dla użytkownika wyświetla:
ID: 01
Wartość1: cos tam [Klik1] [Klik2] [Klik3]
Wartość2: cos tam [Klik1] [Klik2] [Klik3]
Wartość3: cos tam [Klik1] [Klik2] [Klik3]
Wartość4: cos tam [Klik1] [Klik2] [Klik3]
Wartość5: cos tam [Klik1] [Klik2] [Klik3]

No i po kliknięciu odpowiedniego odnośnika, wpisuje w status w bazie w statuswartX: klik1, klik2 lub klik3.
I jak to zrobić? biggrin.gif
piotrex41
Zrób to normalnym zapytaniem UPDATE, chyba że chcesz się bawić aby to działało w tle (bez przeładowania strony), to wtedy AJAXem się pobaw aby to wykonywało. Chyba do każdego linka musisz zrobić akcję która wykona zapytanie typu UPDATE, które zmieni wartość pola w bazie danych.
bezkarny.j
Tyle to i ja wiem, ale coś mi nie idzie. Nie wiem w sumie jak to przejść. Próbowałem kilka sposobów z instrukcją warunkową IF, ale nic nie daje. Oto kod, który chce edytować:

  1. /* ***************************************************************** */
  2. echo "<tr><td><B>Druga wartość:</B>  ". $rek['route1']."</td>";
  3. echo "<td>[<a href='#'>Klik1</a>]</td>";
  4. echo "<td>[<a href='#'>Klik2</a>]</td>";
  5. echo "<td>[<a href='#'>Klik3</a>]</td></tr>";
  6.  
  7. /* ***************************************************************** */
  8. echo "<tr><td><B>Druga wartość:</B>  ". $rek['route2']."</td>";
  9. echo "<td>[<a href='#'>Klik1</a>]</td>";
  10. echo "<td>[<a href='#'>Klik2</a>]</td>";
  11. echo "<td>[<a href='#'>Klik3</a>]</td></tr>";
  12.  
  13. /* ***************************************************************** */
  14. echo "<tr><td><B>Druga wartość:</B>  ". $rek['route3']."</td>";
  15. echo "<td>[<a href='#'>Klik1</a>]</td>";
  16. echo "<td>[<a href='#'>Klik2</a>]</td>";
  17. echo "<td>[<a href='#'>Klik3</a>]</td></tr>";
  18.  
  19. /* ***************************************************************** */
  20. echo "<tr><td><B>Druga wartość:</B>  ". $rek['route4']."</td>";
  21. echo "<td>[<a href='#'>Klik1</a>]</td>";
  22. echo "<td>[<a href='#'>Klik2</a>]</td>";
  23. echo "<td>[<a href='#'>Klik3</a>]</td></tr>";
  24.  
  25. /* ***************************************************************** */
  26. echo "<tr><td><B>Druga wartość:</B>  ". $rek['route5']."</td>";
  27. echo "<td>[<a href='#'>Klik1</a>]</td>";
  28. echo "<td>[<a href='#'>Klik2</a>]</td>";
  29. echo "<td>[<a href='#'>Klik3</a>]</td></tr>";
piotrex41
A ja nadal nie widzę problemu:

  1. /* ***************************************************************** */
  2.  
  3. echo "<tr><td><B>Druga wartość:</B> ". $rek['route1']."</td>";
  4.  
  5. echo "<td>[<a href='?war2=1'>Klik1</a>]</td>";
  6.  
  7. echo "<td>[<a href='?war2=2''>Klik2</a>]</td>";
  8.  
  9. echo "<td>[<a href='?war2=3''>Klik3</a>]</td></tr>";
  10.  
  11. if (isstet($_GET['war2'])) //tu możesz dać lepszy warunek, ja dałem prosty żeby tylko Ci pokazać jak to ma działać
  12. {
  13. //Tu zapytanie UPDATE zczytujące wartość i wpisujące je do bazy
  14. }

war2 wzięło się od Druga wartość
=1 wzięło się z tego że link jest Klik1, ale możesz to sobie zmienić wg. upodobań i potrzeb.
bezkarny.j
No więc dzięki za pomoc, ale chyba ja coś pomieszałem przy tym. Wpisałem tak:
  1. /* ***************************************************************** */
  2.  
  3. echo "<tr><td><B>Pierwsza trasa:</B> ". $rek['route1']."</td>";
  4.  
  5. echo "<td>[<a href='?war1=1'>W Trasie</a>]</td>";
  6.  
  7. echo "<td>[<a href='?war1=2''>Postój</a>]</td>";
  8.  
  9. echo "<td>[<a href='?war1=3''>Dostarczono</a>]</td>";
  10.  
  11. if (isstet($_GET['war1'])) //tu możesz dać lepszy warunek, ja dałem prosty żeby tylko Ci pokazać jak to ma działać
  12. {
  13. $status1 = @mysql_query("UPDATE rozpiski SET status1='$status1' WHERE status1='$status1'");
  14. if($status1) echo "Status zaktualizowany.
  15.  
  16. ";
  17. else echo "Błąd nie udało się zaktualizować nowego statusu.";
  18.  
  19. }
  20.  
  21. echo "<td><B>STATUS:</B> ". $rek['status1']."</td></tr>";
  22.  
  23. /* ***************************************************************** */


To niestety nie działa, w sumie nie wiem co mogłem zrobić nie tak. Błąd jaki otrzymuje to: Fatal error: Call to undefined function isstet() in C:\Program Files\WebServ\httpd-users\www\test.php on line 76
bpskiba
if (isstet($_GET['war1'])) //tu możesz dać lepszy warunek, ja dałem prosty żeby tylko Ci pokazać jak to ma działać


To niestety nie działa, w sumie nie wiem co mogłem zrobić nie tak. Błąd jaki otrzymuje to: Fatal error: Call to undefined function isstet() in C:\Program Files\WebServ\httpd-users\www\test.php on line 76

nie isstet tylko isset
bezkarny.j
No i super to jest to smile.gif
Ale nie do końca jeszcze to, bo coś musi brakować smile.gif
Teraz mam tak, że zmienia mi status do dwóch informacji. I tłumacząc co mam na myśli:

Mam coś takiego, że jedna osoba wpisuje dane przez formularz:
ID
wartosc1
wartosc2
wartosc3
wartosc4
wartosc5

I to wysyła do bazy. Następnie tej samej osobie może wysłać znowu coś takiego, gdzie ID i wartości są już wpisywane inne.
Następnie dla użytkownika wyświetla się dwa ostatnie zbiory wartości, czyli:
ID
wartosc1
wartosc2
wartosc3
wartosc4
wartosc5
--------------
ID
wartosc1
wartosc2
wartosc3
wartosc4
wartosc5

I teraz po wykorzystaniu powyższej instrukcji zmienia mi status wartości pierwszej do obu 'wartosc1', a chcialbym aby dopasowywalo sie do kazdego inna, gdyz w tym caly sens tego projektu. smile.gif Mozliwe, ze 'uczac' sie PHP rzucilem sie na gleboka wode, ale to jest ostatnia rzecz i mam skonczone, wiec nie warto sie poddawac.

Poza tym jak klikne 'klik1' zmienia mi status, a po kliknieciu klik2 lub klik3 juz niestety nie, jakies rady?
Dziekuje za pomoc i pozdrawiam.
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.