Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Potrzebne stare dane
Forum PHP.pl > Forum > Przedszkole
zeusik86
Witajcie

Głowię się jak ten problem rozwiązać otóż robię stronę coś w tym rodzaju że każdy użytkownik może publikować w niej swoje wpisy. Problem polega na tym że wpisy są zapisywane do bazy mysql jak zrobić żeby jak użytkownik w swoim profilu daje wpis żeby stary nie zostawał usuwany?
Dajmy na to użytkownik publikuje bilans z dnia dzisiejszego a bilans z dnia wczorajszego i starszego nie zostaje usuwany i jest widoczny na stronie?
Z góry dziękuje za pomoc i wyrozumiałość.
nospor
No to zamiast pozwalac na jeden wpis uzytkownika pozwalaj na wiecej?

Zwykla tabela WPIS z polami
ID
ID_USERA
DATA
WPIS
zeusik86
Rozumie ale jak to mniej więcej ogarnąć? Mam stworzyć nową tabelę z określonymi wartościami(chodzi mi o wartości typu int, data)? Chcę żeby było tak ktoś się loguje na swój profil i może pisać na nim swoje wpisy przy czym archiwalne wpisy są zapisane.
Lord
Cytat(zeusik86 @ 29.04.2019, 15:25:50 ) *
Rozumie ale jak to mniej więcej ogarnąć? Mam stworzyć nową tabelę z określonymi wartościami(chodzi mi o wartości typu int, data)? Chcę żeby było tak ktoś się loguje na swój profil i może pisać na nim swoje wpisy przy czym archiwalne wpisy są zapisane.


https://pl.wikibooks.org/wiki/PHP/Relacje_i_indeksy
nospor
Cytat(zeusik86 @ 29.04.2019, 14:25:50 ) *
Rozumie ale jak to mniej więcej ogarnąć? Mam stworzyć nową tabelę z określonymi wartościami(chodzi mi o wartości typu int, data)? Chcę żeby było tak ktoś się loguje na swój profil i może pisać na nim swoje wpisy przy czym archiwalne wpisy są zapisane.

Pytasz teraz o dosc elementarne rzeczy z baz danych. Przenosze.

Co do problemu: nie wiem czy masz tworzyc nowaa tabele czy moze uzyc starej. Nie wiem co aktualnie masz.
zeusik86
Chodzi mi o to żeby było to coś w rodzaju pamiętnika. Każdy użytkownik publikuje swój pamiętnik i pisze bilans z każdego dnia. Może jest jakieś inne rozwiązanie tego problemu?
gitbejbe
innego nie ma, musisz się nauczyć podstaw tworzenia i działania baz danych
dublinka
Nie napisales nic konkretnego.
Sprawdzales PHPMYADMIN czy wpisy istnieja czy masz ustawiony jakis limit w zapytaniu? Jak to teraz sie wyswietla; wszystko jak leci czy jak? A wogole to moze od dupy strony. Jak chcesz zeby to sie wyswietlalo? Cale dane (wszystkie dane) posortowane wzgledem uzytkownika ktory dodal i daty dodania czy osobno przed wyswietleniem wybierasz np. uzytkownika z listy rozwijalnej i chcesz wyswietlic tylko jego wpisy.
Bardziej konkretniej pisz.
zeusik86
Może źle wyjaśniłem mam bazę danych i tabelę z komórkami o nazwie: id, login, haslo, bilans. Ludzie piszą na stronie o swoim dniu, informacja zostaje zapisana do komórki o nazwie bilans dajmy na to ktoś piszę dzisiaj o swoim dniu i to zostaje zapisane do komórki bilans, następnego dnia ta osoba pisze znowu bilans i też tam zostaje zapisane, a co zrobić żeby te stare dane zostały w komórce o nazwie bilans? Próbowałem opcji UPDATE ale to tylko zaktualizuje dane i stare zniknął, myślałem żeby tworzyć nowe komórki ale przecież nie będę codziennie tworzył nowych komórek.
viking
Zła struktura tabel. Powinny być co najmniej 2. Pierwsza z użytkownikami id login hasło. Druga z danymi bilansu. Id id użytkownika bilans może data. Klucz obcy na id użytkownika. Poczytaj o relacjach, postaciach normalnych, joinach w bd. W sumie nospor już ci to samo pisał.
zeusik86
Rozumie, jakby był ktoś taki dobry to tak w celach edukacyjnych pokazał by mi jak taki kod dwóch od siebie zależnych tabel powinien wyglądać?
dublinka
Rozumiem ze kazdy user ma swoj wiersz i ciagle do tego samego chcesz dopisywac. Mozesz zrobic to tak ze wczytasz zawartosc tego pola ktore zawiera tresc do pola textarea i za kazdm razem taki uzytkownik bedzie dodawal to co juz istnieje i to to co dopisze. Tylko jesli ktos cos usunie z tresci z tego pola textarea tak tez sie zapisze. To bedzie jakby edycja + nowa tresc
Tomplus
Przejdź jakiś kurs SQL, dowiesz się podstaw... a potem będziesz miał z górki przy tworzeniu swojego projektu smile.gif

https://www.codecademy.com/catalog/language/sql
Unkn0wn
Prosto i genialnie, stwórz nową tabele 'wpisy' = (id, user, data, wpis)

w profilu wybierz wpisy z tabeli wpisow gdzie wpis uzytkownika tego co sie wpisal baaasmiley.gif
przyklad :
('select `wpis` where `user`=user orderby `id` desc');
while($wpisy = $stmt -> fetchAll(PDO::FETCH_ASSOC)){
foreach($wpisy as $wpis){
// echo $wpis['wpis'];
}
}

w wpis, nie dodawaj do table users tylko do nowej "wpisy"

inset into `wpisy` (`wpis`, [..]) values (?)

no i wtedy zrob sobie update bilans w user

update `users` set (`bilans`=`bilans`+?)


Btw nie wiem czy zrozumialem, ale chcialem pomoc; p
nospor
while($wpisy = $stmt -> fetchAll(PDO::FETCH_ASSOC)){
I wlasnie zapetliles skrypt i zajechales serwer. Juz nie wspominajac o tym ze w chaotyczny sposob zduplikowales to co juz zostalo powiedziane wczesnej
Unkn0wn
Cytat(nospor @ 9.05.2019, 17:31:46 ) *
while($wpisy = $stmt -> fetchAll(PDO::FETCH_ASSOC)){
I wlasnie zapetliles skrypt i zajechales serwer. Juz nie wspominajac o tym ze w haotyczny sposob zduplikowales to co juz zostalo powiedziane wczesnej


chaotycznie
nie, nie.. Nie wiem jaki masz serwer, ale polecam Ci go zmienić. facepalmxd.gif
Proszę bądź bardziej precyzyjny, i wyjaśnij dlaczego biggrin.gif
nospor
Cytat
nie, nie.. Nie wiem jaki masz serwer, ale polecam Ci go zmienić.
Chyba nie sadziles ze odpalilem twoj pseudokod na moim serwerze? Ja ci tylko powiedzial co twoj kod zrobi jak jakis nieborak go odpali.

Cytat
Proszę bądź bardziej precyzyjny, i wyjaśnij dlaczego
Odpal to co zrobiles, zobacz co sie stanie a potem przeanalizuj te pare linijek kodu

edit: choc moze i nie koniecznie sie zapetli bo fetchAll chyba za drugim razem zwroci poprostu FALSE - nie pamietam, nigdy nie przyszlo mi do glowy odpalac fetchAll w petli...
Nie mniej jendak ten caly WHILE ktory dales na poczatku jest totalnie zbedny
Unkn0wn
Cytat(nospor @ 9.05.2019, 17:56:09 ) *
Chyba nie sadziles ze odpalilem twoj pseudokod na moim serwerze? Ja ci tylko powiedzial co twoj kod zrobi jak jakis nieborak go odpali.

Odpal to co zrobiles, zobacz co sie stanie a potem przeanalizuj te pare linijek kodu


zanim cos napiszesz, poczytaj troszke. Przypuszczam ze mylisz moj kod z while(true), ale to tak nie dziala tongue.gif

@edit UP - tak jak myslalem zwykle nieporozumienie biggrin.gif
nospor
Nie, to nie jest nieporozumienie. Jak juz pisalem: ten WHILE jest tam totalnie zbedny wrecz niewlasciwy.
Unkn0wn
Cytat(nospor @ 9.05.2019, 19:50:36 ) *
Nie, to nie jest nieporozumienie. Jak juz pisalem: ten WHILE jest tam totalnie zbedny wrecz niewlasciwy.


Tak, masz rację, jest tam totalnie niezbędny, ale nie szkodzi mojemu "pseudoKodzie", nie jest zagrożeniem dla twojego serwera ani nieboraka. Myślę, że zaszło nieporozumienie, między tobą a moim kodem.
Mam nadzieje, że pomogłem, pozdrawiam! biggrin.gif
dublinka
Probuje koledze autorowi pomoc tzn napisac mu taki skrypt od podstaw zupelnie darmo ale ciezki kontakt jest z kolegą. Jest wiele nieścislosci jak to gdzie i co ma sie wyswietlac itp.
Kolega chce miec cos al'a mini blog bez komentarzy. Informacje "o mnie" i dziennik ktory bedzie uzupelnial kazdy user tzn dodawal rekordy.
Sęk w tym ze nie chce robic cos na darmo zeby potem grzebac w tym i zmieniac bo 'nie o to chodzilo". Zupelnie nie wiem jak ma sie wyswietlac karta usera ; z jskiegos linku, pola wyboru.....questionmark.gif? Jesli kazdy ma swoj mini panel gdzie moze dodawac tresc to ta tresc musi byc jakos przedstawiona. Jak nie mam pojecia jak a kolega odezwal sie do mnie 2 dni temu.
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.