![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Jestem amatorem i kod który napisałem z pewnością do najlepszych nie należy, lecz do tej pory z takim problemem się nie spotkałem. Do rzeczy: Mam prosty skrypcik, który pobiera dane z kilku tabel, aktualizuje je, do niektórych coś dodaje, jedną usuwa. Generalnie skrypt działa, wszystko się wykonuje, tak jak powinno, tyle że pomija pierwszy wiersz z bazy danych. Próbowałem już kilku kombinacji, ale nic z tego. Problem na pewno nie leży w skrypcie który zapisuje dane w tej tabeli, tylko już w docelowym - pobierającym go. By ułatwić zrozumienie kodu: - skrypt wyświetla w liście mini formularze, na podstawie tabeli 'dzialka', po kliknięciu [zatwierdz] wykonuje kod. Nie wiem, czy to co napisałem jest jasne, więc wersja obrazkowa: Tak wygląda skrypt w działaniu: ![]() Tak wygląda zawartość bazy: ![]() a tak jest ustawiona tabela ![]() Jak widać pobiera 2 na 3 wyniki. Manipulacja "DESC" - "ASC" w zapytaniu, zmienia tylko tyle, że albo nie wyświetla pierwszego albo ostatniego wyniku. oto kod:
Mogę ten błąd w sposób sztuczny generalnie pominąć, ale będzie to nieeleganckie :) Z góry dziękuję za pomoc Ten post edytował MeTeorek 29.03.2012, 10:38:05 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Używasz funkcji mysql_fetch_assoc przed pętlą while... zatem
jesli baza zwraca trzy rekordy to : mysql_fetch_assoc - pierwsze wywołanie (1szy rekord jest zdjęty ze "stosu") potem mamy while: mysql_fetch_assoc - pobiera 2 mysql_fetch_assoc - pobiera 3 koniec...
ROZWIĄZANIE: Zamień pętle WHILE na DO...WHILE
i zmień w kodzie przy pierwszym wywołaniu mysql_fetch_assoc nazwe zmiennej $dzia na $dzial ![]() czyli:
Ten post edytował Sephirus 29.03.2012, 11:01:32 -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi się, że jest to spowodowane wywołaniem dwa razy funkcji mysql_fetch_assoc, nie chce Cie wprowadzać w błąd ale od tego rozpocząłbym poszukiwania, poza tym reszta skryptu wydaje się ok. Zamiast dawać 2 zapytania do bazy mógłbyś walnąć 1.
Ten post edytował Rysh 29.03.2012, 11:05:19 -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Oboje mieliście rację
![]() ![]() Przejrzałem kod po uwadze @Rysh i okazało się że linijki od 3 do 5 są zbędne ![]() Dziękuję za pomoc! |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%) ![]() ![]() |
No widzisz, głupi błąd a do bazy trafiało za każdym jedno zapytanie więcej
![]() -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 08:06 |