![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%) ![]() ![]() |
Napisałem sobie funkcję, która wyświetla produkty w koszyku. Wszystko ładnie działało, Każdy produkt miła swoje "okienko". Postanowiłem dodać jeszcze opcje ilości. Czyli przy produkcie jest lista rozwijana z wartościami od 1 do 10 i zaznaczona jest wartość odpowiadająca wcześniej podanej ilości (wszystko jest pobierane z bazy MySQL).
Kod wygląda następująco: funkcja wykonująca wszystko:
Fragment w kodzie który wywołuje funkcje i podaje jej parametry:
Wynikiem działania tego skryptu jest nic. Po prostu biały ekran. I teraz nie mam nawet pojęcia co jest nie tak. Podejrzewam, jak że zdarzyło mi się coś takie wcześniej, że błędem może być jakiś malutki fragmencik, którego nie zauważam, mam jednak nadzieję, że ktoś go zauważy i zechce mi pomóc. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 376 Pomógł: 47 Dołączył: 23.08.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%) ![]() ![]() |
Dodałem to do skryptu, ale nie wiem co jest grane, bo nadal nic nie widać. Nie ukrywam też, że nie znam się na tej komendzie którą mi podałeś, ale w manualu, też jakoś jej działanie nie jest specjalnie wytłumaczone (w sensie jak ją właściwie wykorzystać i może tutaj jest błąd, że nic nie widzę). Ne sądze,żebym wysyłam puste zmienne, bo wcześniej kod był nieco "biedniejszy" i ładnie działał (wysyłał tylko $pr_id). Poza tym wcześniej mam zabezpieczenie, przed wywołaniem tej funkcji jeśli w tabeli nie ma pasujących wyników. Tak więc nie sądzę, żeby to było to.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
Zamiast:
To tak:
To nie apropo błędu, a teraz apropo błędu - po tym: daj: kolega @Kaloryfer: Cytat Przed wykonaniem funkcji cart(); daj sobie var_dump'a na zmienne powyżej. Czy na pewno zawierają te dane co trzeba? Nie wysyłasz pustych wartości? Czy te zmienne Twoim zdaniem to tablice? Bo mi sie nie wydaje... @sebap123: Cytat Poza tym wcześniej mam zabezpieczenie, przed wywołaniem tej funkcji jeśli w tabeli nie ma pasujących wyników. Pokaz je Ten post edytował lord2105 14.12.2010, 16:14:40 -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%) ![]() ![]() |
Sądzę, że są to tablice, bo niby jakim sposobem by mi wcześniejszy "model" skryptu miał działać?
Mówię, że wcześniej pobierał tylko pr_id. A co do zabezpieczenia to jest to zwykły if. Ale, żeby mieć 100% pewność to sprawdziłem, że tablica jest niepusta (jest tam parę testowych rekordów, które wcześniej działały). Mówię, że to jest chyba coś z pętlą. Bo w momencie kiedy ją napisałem wszystko się posypało. A i te twoje polecenie nic nie dało. Cały czas upiera się przy białym ekranie. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
zmienne $pr_id i $pr_qty to nie tablice!
tablica jest $product nic nie pokazuje? -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%) ![]() ![]() |
No wiem, że tablicą jest tylko product, a reszta to jej komórki. A var dump nic nie pokazuje. Może skierować wysyłanie info z var dump do jakiegoś pliku? Chociaż nie ukrywam, że trochę w ten pomysł nie wierze.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
To:
zamień chwilowo na, zobaczymy czy masz połączenie z mysql, a później dokladaj do zapytania WHERE i LIMIT :
Pokaz jeszcze nad while echo $h; -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%) ![]() ![]() |
Trochę zrobiłem inaczej niż powiedziałeś, i teraz coś udało mi się odkryć, ale średnio wiem jak to teraz zinterpretować. Mianowicie schowałem wszystko co dopisałem i co było związane z $pr_qty w pętli w funkcji. Potem kazałem mu tylko tą zmienną wyświetlić, a reszta kodu jest już przetestowana i w 100% działa, tak więc już wiem co powoduje błędy (w pewnym sensie). Tak teraz wyglądają kody:
wywołanie funkcji:
w sumie to to się nie zmieniło. I tutaj już pozmieniana funkcja (dla wygody czytania wywaliłem ten ukryty kod, bo jest on umieszczony parę postów wyżej.
No a teraz najciekawsze, czyli co widać. Właśnie widać wszystko oprócz $qty która jest tutaj:
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
Poprosze jeszcze zrzut tabeli koszyk -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%) ![]() ![]() |
Dobra już naprawiłem. Błąd był w innym miejscu, o którym zupełnie zapomniałem. Miałem w innym miejscu jeszcze wywołanie funkcji cart i tam właśnie w czasie aktualizacji zapomniałem dodać drugiej zmiennej. To był błąd. Nie mniej jednak wielkie dzięki za zainteresowanie i w pewnym sensie pomoc.
A tak na marginesie: 1. czy jak mam funkcję if to muszę koniecznie dodać opcję else? bo z innych języków pamiętam, że to nie jest obowiązkowe. 2. czy to był jakiś błąd, że wpisywałem zmienna=zmienna+1 a nie zmienna++? Czy to nie jest po prostu taka zasada pisowni takich fragmentów wśród programistów? |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
1. nie musisz
2. nie był to błąd, który oddziaływał na niepoprawne działanie programu, nie mniej jednak kod jest wtedy bardziej czytelny -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.07.2025 - 10:07 |