![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 11.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam problem dotyczący UPDATE. Mianowicie, chodzi o to, że przy wysyłaniu danych przez formularz nie są one dodawane do istniejących już w bazie, tylko zastępują wcześniej istniejące. Od razu mówię, że kod odkopałem z najciemniejszych czeluści swojego dysku twardego i nie do końca wiem, dlaczego wygląda jak wygląda. Kiedyś coś tam próbowałem z PHP, ale odpuściłem i nadal jestem na tym samym etapie co wtedy ![]()
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Mianowicie, chodzi o to, że przy wysyłaniu danych przez formularz nie są one dodawane do istniejących już w bazie, tylko zastępują wcześniej istniejące. to zajrzyj do manuala mysql i zobacz co robi UPDATE, albo nawet prościej zobacz w słowniku pol-ang słowo update |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 14 Dołączył: 21.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
UPDATE jest do aktualizacji
Natomiast Insert into jest do dodawania |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 11.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ok, próbowałem z INSERT INTO, ale teraz już nic się nie dzieje. Ani się nie zamieniają dane ani nie aktualizują.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 14 Dołączył: 21.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Rób to tak:
Ale co do id to raczej AUTO_INCREMENT PS: tylko nie zapomnij wyrzucić z nawiasów itd ![]() Ten post edytował kill15 16.01.2011, 20:23:29 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 11.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
OK, teraz mam coś takiego, jak poniżej, ale niestety dalej to nie działa. Wydaje mi się, że mam tak jak napisałeś, ale może gdzieś indziej mam błąd.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 14 Dołączył: 21.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
WHERE id=$id - na jakiej zasadzie ma to działać ![]() Takie coś zrób:
Jeżeli tego id nie ma w bazie to jak cokolwiek ma zrobić. A jeżeli ustawisz AUTO_INCREMENT dla id to zrób tak:
wtedy id wypełni Ci automatycznie Ten post edytował kill15 16.01.2011, 22:06:36 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 11.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
WHERE id=$id - na jakiej zasadzie ma to działać ![]() Chodzi mi o to, że w formularzu podaję ID zawodnika (w bazie są już zawodnicy i mają przypisany ID, a teraz chcę co mecz dodawać kolejne punkty, itp.), ID zapisuje się do zmiennej $id i dane zostają zapisane zawodnikowi z ID, który jest w tej zmiennej. Ten post edytował nieznajomy 16.01.2011, 22:35:34 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 14 Dołączył: 21.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Czyli jest budowa np taka:
zawodnik|id|punkt|punkt2|punkt3|itp I to wszystko jest przy zawodniku tak ![]()
W zapytaniu $stat wydaje się być dobrze ale skoro WHERE id=$id to dlaczego jest id='$id' , ![]() A zapytanie $query jeżeli ma AKTUALIZOWAĆ rekordy to powinno wyglądać tak jak to $stat a jeżeli dodawać nowy rekord z nowym zawodnikiem i z jego danymi to czytaj to co wcześniej pisałem tzn ok 2 posty wyżej . Z tego co widzę obydwa zapytania mają robić to samo po co ![]()
Jężeli nie zadziała to daj zamiast: $result = mysql_query($stat) kod: $result = mysql_query($stat) or die(mysql_error()); Wtedy jeżeli będzie źle wypluje Ci błąd. Oczywiście to usuwasz jeżeli stronke maja przeglądać ludzie ;d Ten post edytował kill15 16.01.2011, 22:58:14 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 11.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Napisałeś o UPDATE, a mi chodzi o to, żeby np. punkty, które wpisuję w formularzu były dodawane do istniejących już punktów w bazie. A do tego jest chyba potrzebne INSERT INTO, tak?
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 39 Dołączył: 7.11.2010 Skąd: Raz tu, raz tam Ostrzeżenie: (30%) ![]() ![]() |
Ehh... kilka godzin siedzisz w tym temacie a nadal nie wiesz co i jak, trudno nauczyc sie dwoch slow?
INSERT - dodaje nowy rekord UPDATE - aktualizuje istniejacy rekord -------------------- |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 14 Dołączył: 21.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
No to w tym wypadku UPDATE
np jeżeli masz id|imie|nazwisko|punkty|punkty2|punkty3 itd 1 |Arek|Nowak |20 | 17 | 18 itd i wpisujesz w formularzu dane sciągasz je z formularza np tak: $pkt = $_POST['pkt']; // załóżmy że tu dałes w fromularzu 1pkt $pkt2 = $_POST['pkt'2]; // załóżmy że tu dałes w fromularzu 2pkt $pkt3 = $_POST['pkt'3]; // załóżmy że tu dałes w fromularzu 3pkt i chcesz je podmienić żeby tabel wyglądała tak: id|imie|nazwisko|punkty|punkty2|punkty3 itd 1 |Arek|Nowak |1 | 2 | 3 itd To wysyłasz dane UPDATE jeżeli masz: id|imie|nazwisko|punkty|punkty2|punkty3 itd 1 |Arek|Nowak |20 | 17 | 18 itd i chcesz je podliczyć np: $pkt = $_POST['pkt']; // załóżmy że tu dałes w fromularzu 1pkt $pkt2 = $_POST['pkt'2]; // załóżmy że tu dałes w fromularzu 2pkt $pkt3 = $_POST['pkt'3]; // załóżmy że tu dałes w fromularzu 3pkt Ściągasz dane z bazy Dodajesz je do tych co są w formularzu i aktualizujesz je wtedy UPDATE I wtedy będzie wyglądało tak: id|imie|nazwisko|punkty|punkty2|punkty3 itd 1 |Arek|Nowak |21 | 19 | 21 itd Ten post edytował kill15 16.01.2011, 23:31:57 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 5.07.2025 - 02:59 |