![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 246 Pomógł: 19 Dołączył: 14.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam w bazie w tabeli 10 kolumn. Kiedy ktoś chce coś zmienić dodaje nowy wiersz który zawiera jego propozycję. Znajduję takie pozycję poprzez ich nazwę bo właśnie one się powtarzają. Nastepnie wyświetlam to co jest w bazie oraz to co jest propozycją. I teraz pytanie jak zrobic abym po zatwierdzeniu miał zaktualizowaną te daną a propozycja aby mi się usunęła?
Z bazy wyświetlam to w ten sposób:
Cały problem polaga na tym, że nie wiem który wiersz jest tą propozycją uzytkownika, więc nie mogę tego dopisać to linka, a poza tym przy instrukcji UPDATE muszę mieć nazwę kolumny tej pozycji. No i jeszcze jest problem jak po zatwierdzeniu usunąć to co było propozycją, skoro moge mieć np. jeszcze 10 innych propozycji. A i jeszcze jedno: w wierszu który dodał uzytkownik są tylko dwa wpisy, to co on zaproponował oraz to czy artykuł został opublikowany. -------------------- "Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cały problem polaga na tym, że nie wiem który wiersz jest tą propozycją uzytkownika Możesz zrobić na przykład tak: dodajesz sobie to tej tabeli jeszcze jedną kolumnę w stylu status('oryg'|'propoz') i przy dodawaniu danego rekordu sprawdzasz najpierw czy istnieje już taka nazwa: Kod (schematycznie) if((SELECT nazwa FROM tabela WHERE nazwa="nazwa_podana_przez_usera")==TRUE) status='propoz'; else status='oryg'; po czym ustawiasz rekordowi odpowiedni status... i już wiesz jak przy updacie rozróżnić oryginał od propozycji... więc nie mogę tego dopisać to linka, a poza tym przy instrukcji UPDATE muszę mieć nazwę kolumny tej pozycji. Stosuj ID do rozróżniania poszczególnych rekordów... No i jeszcze jest problem jak po zatwierdzeniu usunąć to co było propozycją, Jak wyżej... używaj ID... skoro moge mieć np. jeszcze 10 innych propozycji. A to już zależy co chcesz zrobić z pozostałymi propozycjami... Ten post edytował nowotny 2.08.2008, 17:55:17 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 246 Pomógł: 19 Dołączył: 14.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
W tym pierwszym źle się wyraziłem, sorry. Mam tak jak pisałem kolumnę (typ bool) opublikowany. Więc jak mam 1 to oryginał, jak 0 to propozycja.
Niestety nie wiem co masz na myśli pisząc o id. W składni UPDATE ma przecież coś takiego: SET kolumna=wyrażenie. Zakładając że będę znał to wyrażenie, nadal nie będę wiedział do której kolumny należy. Próbowałem coś kombinować z mysql_field_name i ewentualnie też przesłać to przez GET, ale nie bardzo wychodzi. A jeśli masz na myśli kolumnę zawierającą numery id, to mam oczywiście taką i mam ją ustawioną na auto_increment. Dlatego właśnie wyszukuje duplikaty za pomocą nazwy. Poza tym będę musiał przesłać tę proponowaną nazwę która jest wyświetlana w else, i z tym też mam problem bo nie wiem jak ją teraz z tego wyciągnąć. Jak możesz to wytłumacz mi dokładniej jak ty to wszystko widzisz i jak byś to zrobił. -------------------- "Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Załóżmy że masz taką tabelę:
Kod |ID |marka |kolor |stan ---------------------------- |1 |mazda |niebieski |1 |2 |mazda |szary |0 |3 |mazda |czarny |0 |4 |mazda |zielony |0 Teraz wybierasz sobie wszystkie "mazdy" i wyświetlasz:
Plik edit.php:
Taki generalnie byłby zarys... pewnie dało by się zrobić bardziej elegancko ale chodzi mi tu o zasadę... |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 246 Pomógł: 19 Dołączył: 14.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Świetny pomysł, tylko jeszcze jeden problem. Będę musiał podczas edycji przepisywać z oryginału pozostałe dane z kolumn, aby mi reszta nie zginęła jak będę to aktualizował. W tej chwili mam zapytanie które tylko wstawia wiersz w propozycją, a reszta kolumn jest pusta. Jak przepisać tą resztę z oryginału? Teraz mam tak:
EDIT: W tej chiwli przychodzi mi na myśl tylko coś takiego:
Ten post edytował Max Damage 3.08.2008, 14:03:50 -------------------- "Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dalej nie używasz ID jak prosiłem... :/
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 246 Pomógł: 19 Dołączył: 14.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Kombinuje jak moge, ale nic z tego. Jakoś nie mogę załapać twego sposóbu myślenia
![]() -------------------- "Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 04:56 |