Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mySQL] sortowanie
micbuc
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 1.10.2005

Ostrzeżenie: (0%)
-----


Witam serdecznie,

Zawiesiłem się strasznie nad pytaniem, które miałoby posortować mi dane z tabeli...
O co chodzi:
- mam tabelę m.in. z polami [nazwa] i [cena]
- w tabeli przechowuję rekordy z produktami, które tak na prawdę mogą powtórzyć się parokrotnie (różnią się tylko sufiksem z pola nazwa i ceną oczywiście)
w praktyce wygląda to mniej więcej tak:
[nazwa 1] [cena 10]
[nazwa 2] [cena 5]
[nazwa 2 szt 10] [cena 70]
[nazwa 3] [cena 20]
[nazwa 3 szt 10] [cena 150]
[nazwa 4] [cena 15]
[nazwa 4 szt 10] [cena 100]

- moim celem jest posortowanie produktów po cenie, jednak w chwili, gdy jest on dostępny również w większej ilości sztuk, żeby został wyświetlony po tym pierwszym
w praktyce miałoby to wyglądać tak:
[nazwa 2] [cena 5]
[nazwa 2 szt 10] [cena 70]
[nazwa 1] [cena 10]
[nazwa 4] [cena 15]
[nazwa 4 szt 10] [cena 100]
[nazwa 3] [cena 20]
[nazwa 3 szt 10] [cena 150]

Nie mam pojęcia jak się za to zabrać.
Bardzo proszę o radę lub treść samego zapytania.
Go to the top of the page
+Quote Post
snipe
post
Post #2





Grupa: Zarejestrowani
Postów: 135
Pomógł: 1
Dołączył: 5.10.2005
Skąd: Opole/Chorzów

Ostrzeżenie: (0%)
-----


SELECT nazwa, cena FROM tabela ORDER BY nazwa, cena

O to Ci chodziło??
Go to the top of the page
+Quote Post
barat
post
Post #3





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 19.05.2007

Ostrzeżenie: (0%)
-----


Moim zdaniem skopałeś bazę ...
Powinny być tylko nazwa 1,2,3,4 itp
A liczby sztuk już obsługiwać przez PHP i według tego wzorem matematycznym obliczac rabat (chyba 30%) a tabele zamówienia zrobić na zasadzie
nazwa | liczba sztuk | konćowa cena | imie | nazwisko | i tak dalej ...

Dzięki temu możesz w opisie przedmiotu napisać, że przy zakupie powyżej 10 sztuk rabacik (który skrypt sam uwzględni jeśli klient wpisze w pole ilości sztuk 10) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) - tak może zamówić 1 - 4 a nawet 999 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował barat 24.05.2007, 18:41:26
Go to the top of the page
+Quote Post
micbuc
post
Post #4





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 1.10.2005

Ostrzeżenie: (0%)
-----


Snipe:
Twoje zapytanie da dokładnie taki wynik, jak podałem w danych wejściowych (a o to mi nie chodzi). Mimo to dziękuję za zainteresowanie.

Barat:
Bazy niestety sam nie projektowałem, dostałem ją tylko do ogarnięcia.
Przeróbki raczej też nie wchodzą w grę, bo musiałbym praktycznie napisać od nowa cały sklep.

Wartość rabatu natomiast, dla każdego produktu w ilości 10 sztuk, może być inna. Dla jednego powiedzmy 10%, dla innego 20%. Podobnie rzecz ma się dla różnej ilości danego, wybranego produktu. Przy zakupie 5 sztuk może on wynieść 5%, przy 10 natomiast - 15%.
Mógłbym to rozwiązać tworząc nową tabelę z polami [idNazwy] [liczbaSztuk][rabat], ale jak już wspomniałem - wiązałoby się to przebudową całego sklepu czego tak na prawdę chciałbym uniknąć ;/
Go to the top of the page
+Quote Post
snipe
post
Post #5





Grupa: Zarejestrowani
Postów: 135
Pomógł: 1
Dołączył: 5.10.2005
Skąd: Opole/Chorzów

Ostrzeżenie: (0%)
-----


Myślę, że zainteresuje Cię konstrukcja if w mysql'u (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.12.2025 - 19:50