• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP update nicku w kilku tabelach naraz.

0 głosów
60 wizyt
pytanie zadane 13 lutego w PHP, Symfony, Zend przez użytkownika nielotweb Użytkownik (710 punkty)
Mam dwie tabele w bazie danych MySQL. Jedna zawiera informacje o użytkowniku ( i nazwę użytkownika ) a druga informacje dotyczące wpisów i nazwę użytkownika który dodał ten wpis.

Mam w panelu użytkownika możliwość zmiany nazwy użytkownika.

I problem mam taki że gdy zmieniam nazwę użytkownika, to ona zmienia się tylko w tabeli o informacjach o użytkownikach. A chcę żeby się również zmieniła w tabeli wpisów automatycznie, i w tym wpisie co ją ten użytkownik dodał.

Bo przykładowo jest użytkownik xyz. Dodał on wpis, i ten wpis ma autora: xyz. Ten użytkownik zmienił nazwę na xyz2, nazwa zmieniła się w tabeli uzytkownicy a w wpisie dalej jest autor: xyz.

I to jest problem, bo mam tam jeszcze ustawione, że gdy to jest mój wpis, to mogę go sobie edytować. A gdy zmienie sobie nick, to potem jest to uznawane jako wpis innego użytkownika bo nadal jest xyz, i już nie mogę edytować.

Nie wiem jak to wszystko zebrać w kupę. :/

2 odpowiedzi

+1 głos
odpowiedź 13 lutego przez użytkownika Arkadiusz Waluk Mędrzec (163,680 punkty)
wybrane 13 lutego przez użytkownika nielotweb
 
Najlepsza
Jak dla mnie masz to źle zrobione.

Powinna być tabela z użytkownikami i w niej każdy użytkownik powinien mieć swoje unikalne id (autoincrement) oraz nazwę użytkownika (i inne potrzebne kolumny). A w innych tabelach gdzie potrzebujesz zidentyfikować użytkownika powinno być tylko jego id. Ono nigdy się nie zmieni więc nie ma problemu z aktualizacją. Nick zmienisz bez problemu bo będzie tylko w jednej tabeli, a id nadal pozostanie takie samo. Przy pobieraniu danych zrobisz zapytanie z JOINem do tabeli użytkownicy i pobierzesz też od razu nazwę użytkownika na podstawie id.
komentarz 13 lutego przez użytkownika nielotweb Użytkownik (710 punkty)
W sumie ma Pan rację, tabelę użytkownicy mam dobrze zrobioną, bo każdy użytkownik ma swoje unikalne id oraz nazwę użytkownika.

Natomiast źle zrobiłem resztę, bo np. w tej drugiej tabeli wpisy mam zamiast id użytkownika to znów nazwę użytkownika..

Bo dodawanie wpisów zrobiłem tak że nazwę użytkownika pobierałem z sesij aktualnie zalogowanego użytkownika i wrzucałem ją do tej tabeli wpisy...

Więc.. całkowicie źle to zrobiłem:p
komentarz 13 lutego przez użytkownika Arkadiusz Waluk Mędrzec (163,680 punkty)
To nie tak całkowicie, wystarczy po prostu zmienić w tabeli z wpisami nazwę użytkownika na id i analogicznie z sesji odczytywać id zamiast nazwy użytkownika. Po drobnych poprawkach powinno być jak trzeba ;)

PS po co to "Pan"
komentarz 13 lutego przez użytkownika nielotweb Użytkownik (710 punkty)

Dobra już sobie to ogarnę:p

Dziękuję bardzo! A "Pan" bo nie wypada po imieniu, nie znam "Pana", i jest pan starszy od mnie laugh 

komentarz 13 lutego przez użytkownika Arkadiusz Waluk Mędrzec (163,680 punkty)
Nie przeszkadza mi po imieniu. Nawet wydaje mi się to naturalne, bo jesteśmy na forum, gdzie każdy może sobie z każdym luźno pogadać. Ja też w takim razie "Pana" nie znam, a starszy może jestem a może nie, wbrew temu co być może wiele osób myśli wcale nie odstaję jakoś specjalnie wiekiem od większości naszej społeczności ;)
0 głosów
odpowiedź 13 lutego przez użytkownika Ivan Nałogowiec (49,770 punkty)
Zmień nick w drugiej tabeli!? Jaki problem?

Zawsze można przypisać post pod ID użytkownika, zamiast pod nick :) Chyba to będzie lepszy sposób na rozpoznanie autora wpisu :)

Podobne pytania

0 głosów
1 odpowiedź 45 wizyt
pytanie zadane 26 listopada 2016 w PHP, Symfony, Zend przez użytkownika grzdaczek2727 Nowicjusz (230 punkty)
0 głosów
1 odpowiedź 169 wizyt
pytanie zadane 1 marca 2016 w Ogłoszenia, zlecenia przez użytkownika Wajstachy Początkujący (450 punkty)
0 głosów
1 odpowiedź 44 wizyt
pytanie zadane 15 stycznia w SQL, bazy danych przez użytkownika kenjiro244 Użytkownik (860 punkty)
...