![]() |
![]() |
![]()
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) |
|
|
![]() |
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 16:04 |