![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
witam
mam przechowywac towary i uslugi w bazie towar/usluga moze byc oferta lub potrzeba tabele ulozylem tak (skrot) Kod id nazwa rodzaj (0 - oferta, 1 - potrzeba) towar/usluga moze byc zarowno potrzeba jak i oferta, wiec jezeli jest tym i tym to beda 2 wiersze w bazie - tu juz mam watpliwosc czy jest to dobre rozwiazanie. gdy zmieniam rodzaj towaru z oferty na potrzebe to usuwam poprzednie wpisy tego towaru i dodaje go na nowo ze zmienionym rodzajem - tu kolejna watpliwosc. wymyslilem teraz ze moze zmienic tabele na: Kod id nazwa oferta ( 0 - nie oferta, 1 - oferta) potrzeba ( 0 - nie potrzeba, 1 - potrzeba) czyli jezeli towar jest oferta i potrzeba to ma dwie jedynki. tylko ze powstaje pytanie jak wyswietlic towar jezeli jest oferta i potrzeba w dwoch wierszach? np naprawa komputerów - oferta naprawa komputerów - potrzeba czy mysql cos takiegio potrafi? i prosze o ogolna wypowiedz na temat obu rozwiazan, ktore lepsze? -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 20.12.2005 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Drugi sposób wydaje mi się lepszy ale w przypadku(mniej rekordow). A wyswietlanie w sposob
Cytat tylko ze powstaje pytanie jak wyswietlic towar jezeli jest oferta i potrzeba w dwoch wierszach? np naprawa komputerów - oferta naprawa komputerów - potrzeba robisz przez dwa zapytania poloczone UNION w jednym wybierasz te z "oferta" w drugim rekordy z "potrzeba" i wszystko sortujesz np. nazwie. -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
a moze taka tabela:
id nazwa rodzaj rodzaj moze byc 1 - oferta 2 - potrzeba 3 - oferta i potrzeba juz baza bylaby mniej nadmiarowa. tylko teraz tez nie wiem jak wyswietlic 2 wiersze jezeli rodzaj == 3 -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 20.12.2005 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Wyswietlasz tak jak pisalem wcześniej
EDIT @nospor Tak faktycznie, zle napisalem. Ten post edytował wijet 25.09.2006, 15:47:25 -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@wijet akurat Twoj sposob, gdy rodzaj = 3, wyswietli ten rekord tylko raz. przeanalizuj se to jeszcze raz
![]() Przy tych wartosciach wyszla ladnie suma bitowa, mozna wiec tak:
lub w php to przerobic, ze jesli rodzaj =3, to dany rekord wyswietlic dwukrotnie. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
ani jedno ani drugie rozwiazanie nie zadzialalo
w php nie chce tego obrabiac, wole na poziomie bazy. wyswietla tak samo jak jeden select, nie robi z jednego dwoch wierszy. -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
towary
id nazwa statusy_towarow id status towary_posiadaja_statusy id_towaru id_statusu -------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
tak, to by bylo chyba najdoskonalsze rozwiazanie jesli chodzi o mysql. w php to troche wiecej roboty:)
dzieki przemysle to -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@AxZx moj przyklad nie zadzialal, gdyz union domyslnie ma ustawione usuwanie duplikatow. wystarczy tylko dopisac ALL i bedzie git:
![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
o widzisz, czlowiek uczy sie cale zycie:) dzieki
a dalsza czesc mojego problemu? zamiana tor_rodzaj z 3 na 1 a w drugim wierszu na 2 to tez jest takie proste? ![]() czy moze lepiej odrazu zaczac zmieniac baze tak jak napisal sf -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat dalsza czesc mojego problemu? ALe wczesniej sie oto nie pytales.zamiana tor_rodzaj z 3 na 1 a w drugim wierszu na 2 to tez jest takie proste? Wczesniej sie pytales, jak zmienic z jednego rodzaju na drugi w ramach jednego rekordu, a tu nagle schizofremii dostales i jeden rekord chcesz na dwa rozbijac w sensie zmian statusow. W tym ostatnim pomysle to nawet struktura sf ci nie pomoze, gdyz jego struktura tez sie odnosi do jednego rekordu. Jesli jednak chcesz miec dwa rekordy, to zrob dwa rekordy i nie kombinuj. Na chwile obecna nie jestem w stanie ci inaczej pomoc, bo nie wiem juz oco ci chodzi. a ty wiesz? ![]() ps: albo to ja jestem juz spiacy i nie widze prostoty twego problemu.... tak czy siak rozwin swoją mysl, proszę. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
wcale nie mowie ze moj pomysl jest prosty
![]() wlasciwie to bede musial sie zastanowic czy takie cos wogole jest mi potrzebne bo moge poprostu wyswietlic ten jeden rekord i napisac obok oferta/potrzeba chce z jednego wiersza zrobic dwa:) zamiast 1 nazwa_towaru 3 (gdzie 3 to rodzaj) zeby wypisal 1 nazwa_towaru 1 1 nazwa_towaru 2 ot tyle:) z rozwiazaniem sf byloby chyba latwiej kombinowac. ale jezeli mysql ma taka mozliwosc to chcialbym z niej skorzystac. -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
o, teraz gadasz po ludzku
![]()
![]() ps: a teraz ide spac, dobranoc 4 all ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
no no
![]() wyniki dobre dzieki bardzo hmm tylko jak policzyc ile tych wynikow jest? count(*)? -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
chcesz i wyswietlac i znac ich ilosc?
http://pl.php.net/manual/pl/function.mysql-num-rows.php co do count(*) to zaprzeproszeniem zamiast sie "glupio" pytac to bys sprobowal to wstawic i sprawdzil.... ![]() ja sprawdzielm i dziala ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Osobiście staram się unikać uni bo to takie hm rozwiązanie naookoło mi się wydaje - stosuje tylko gdy poprostu mam już gotową strukturę bazy danych i nie mogę jej zmienić.
-------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@sf ja tam rownież w praktyce nigdy nie korzystalem z union.
Jakos mi to nigdy nie bylo potrzebne, a i tutaj tez nie jest, ale jak sie AxZx uwzial, to niech ma ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
no wcale sie nie uwzialem, tylko pytam jak by to mozna bylo zrobic.
jezeli znasz jeszcze inne rozwiazanie to chetnie sie zapoznam:) a co do count to nie wiem jak sprawdzic, dac count to kazdego zapytania? -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat jezeli znasz jeszcze inne rozwiazanie to chetnie sie zapoznam Juz ci mowilem, ja bym ten rekord rozmnozyl w php ![]() Cytat a co do count to nie wiem jak sprawdzic, dac count to kazdego zapytania? A tu sie klania tez to co mowilem wczesniej: sprawdz, anie sie pytasz, az tak duzo kombinacji nie masz ![]() tak, do kazdego zapytania ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
okej, postanowilem i zabralem sie za zmiany.
zmienilem juz czesc aplikacji, wg schematu sf - czyli tak jak ma byc normalnie:) tylko ze mam problem, ktory zreszta kiedys juz sie pojawil tylko omijalem go w brzydki sposob (nawet nie pamietam juz jak). przykladowa sytuacja: uzytkownik moze edytowac swoje towary, wiec ma ich spis, chcialbym mu pokazac ktory towar jest oferta ktory potrzeba a ktory tym i tym. ale tutaj juz nie chcialbym zeby sie powtarzaly te same wiersze, chcialbym zeby to wygladalo mniej wiecej tak: Kod jakas nazwa_towaru | oferta potrzeba | jakas data_dodania jakas nazwa_towaru2 | potrzeba | jakas data_dodania jakas nazwa_towaru3 | oferta | jakas data_dodania jakas nazwa_towaru4 | potrzeba | jakas data_dodania jakas nazwa_towaru5 | oferta | jakas data_dodania chodzi o to jak przekazac to ladnie do szablonu Smarty bo teraz przekazuje normalnie towary tego usera. ale zeby sprawdzic czy to jest oferta czy potrzeba to musze miec id tego towaru, a w smarty musialbym uzyc php zeby utworzyc nowe zapytanie. czy musze dla kazdego towaru robic osobne zapytanie pobierajace czy to jest oferta czy potrzeba? czy moze da sie jakos to polaczyc w mysql zeby wynik byl gotowy do wstawienia w szablonie? teraz to w php polaczylem i przekazalem do smarty gotowa tablice. ale jak user bedzie mial 1000 towarow to bedzie dodatkowych 1000 zapytan dla kazdego towaru zeby sprawdzic jaki to rodzaj jest. cos takiego by sie przydalo:
sa jakies inne funkcje ktore moglyby cos takiego zrobic? Ten post edytował AxZx 26.09.2006, 11:10:20 -------------------- aplikacje internetowe | Symfony
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 05:08 |