Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> while... - dlaczego zwraca mi o dwa rekordy za malo???
geminek
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.05.2003

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


Mam problem!
Baza MS SQL Serwer 2000 i instrukcja
[sql:1:6eb096d302]while(...) {...} [/sql:1:6eb096d302]
zwraca mi np. 10 rekordow, mimo iz
[sql:1:6eb096d302]mssql_num_rows() [/sql:1:6eb096d302]
zwraca mi liczbe 12. Sprawdzilem w bazie i rzeczywiscie mam przy danym zapytaniu 12 rekordow!
I jeszcze jedno. Dane wyswietlaja mi sie posortowane. I to samo zapytanie SQL, ktore wyswietla mi na stronie wlasnie 10 rekordow, gdy wykonam je w Enterprise Manager zwraca mi 12. A co dziwne, niewazne jakiego uzyje sortowania zawsze na stronie nie wyswietlaja mi sie dwa pierwsze rekordy!
O co tu chodzi?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) I jak moge wyswietlic wszystkie rekordy?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
faster
post
Post #2





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 9.09.2002
Skąd: Pszczyna

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


Problem tkwi w linijkach 10 i 12. Za każdym razem kiedy wywołujesz metodę 'mssql_fetch_array' wtedy wewn. wskaźnik aktualnego rekordu jest przesuwany do następnego -> co powoduje, że w linijce 14 jesteś już właściwie w 3 rekordzie.
Rozwiązanie:
1. albo przed linijką 14 zresetujesz wskaźnik rekordu (musisz poszukać jak bo nie pamiętam ...)
2. albo sprawdzisz w jakiś inny sposób czy zapytanie coś zwróciło ... np. 'mysql_num_rows' (zwraca liczbe rekordow)

Pozdro
::faster
Go to the top of the page
+Quote Post

Posty w temacie


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: 8.10.2025 - 16:04