Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Pobranie danych z bazy do wysyłki maila
Forum PHP.pl > Forum > Przedszkole
adrianozo
Witam wszystkich.
Mam pytanie.
U mnie w bazie, jeśli ktoś zakupi np. 3 przedmioty to tworzą się trzy rekordy w bazie `zamowienia` i chcę teraz je wszystkie wyciągnąć do wysyłki maila i nie wiem jak to zrobić, bo chcę tylko trzy ostatnie. Jeśli ktoś zamówi dwie rzeczy to tylko dwa ostatnie rekordy itd. Macie jakiś pomysł?
nospor
...order by POLE_Z_DATA desc limit 3
adrianozo
Ale ja nie wiem ile jest tych rekordów ostatnich
nospor
A po co ci to wiedziec?? Chciałeś max 3 to ci dałem limit 3 i po sprawie.
adrianozo
No muszę wiedzieć ile ich zamówił, a to z trzema to był przykład. A jak zamówi 10?
peter13135
Ja bym to rozwiązał tak, że zapisuję jednen wiersz do tabeli orders czy tam zamówienia
I do tablicy order_products/zamowienie_produkty zapisywał id'ki produktów i idki zamówienia do którego przyporządkowane są te produkty (no i dodatkowo ich ilość i pare innych rzeczy, które tam możesz mieć)

Wtedy nie miał byś takich problemów wink.gif

Jeśli nie chcesz tak mocno zmieniać struktury bazy, to możesz dodać (chyba, że już masz) pole time/czas do którego będziesz wrzucał czas złożenia zamówienia.
Dzięki temu, jeśli user o id 7 złoży zamówienie, w czasie 1234567 to będziesz miał 3 zamówienia typu :
id |user| time | inne pola
1 7 1234567 | ...
1 7 1234567 | ...
1 7 1234567 | ...


Więc wyciągniesz je zapytaniem :
SELECT * FROM `orders` WHERE time=1234567 AND user=7
nospor
Nie kumam twojej filozofii.... skoro chcesz pobierać wszystkie jakie zamówił to kurcze pobieraj. W czym masz problem?
phpion
Musisz mieć jakąś kolumnę grupującą zamówione produkty w 1 zamówienie. Przykładowo:
zamowienia [id, uzytkownik]
zamowione_produkty [id, id_zamowienia, produkt]
Wówczas pobierasz wszystkie rekordy z tabeli zamowione_produkty, dla których id_zamowienia to zamówienie, dla którego produkty chcesz pobrać. Jeśli nie masz w żaden sposób zorganizowanego takiego powiązania (nie wiem - klucz sesji, cokolwiek) to raczej nie ogarniesz tego. Nie będziesz w stanie przyporządkować zamówionych produktów do konkretnego zamówienia.
adrianozo
Rozwiązałem trochę inaczej(znaczy się zajrzałem w kod trochę wyżej i mogłem to pobrać jeszcze z tabeli, której jeszcze nie wyczyściłem(tabela koszyk))
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.