Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Problem z sortowaniem wyników
samuello
post 10.12.2011, 21:00:39
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 30.11.2011

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


Posiadam kod, który sortuje rekordy z bazy danych wg danej kolumny:

  1. <?php
  2. $zapytanie = mysql_query("SELECT * FROM foto ORDER BY id DESC LIMIT 10");
  3. <html>
  4. <head>
  5. </head>
  6. <body>
  7. <?php
  8.  
  9. $y = 1;
  10. while($row = mysql_fetch_array( $zapytanie ))
  11. {
  12. $hotlist[$y] = $row['id'];
  13. $y = $y+1;
  14. }
  15.  
  16. echo '<br />';
  17. print_r($hotlist);
  18.  
  19. ?>
  20. </body>
  21. </html>


W bazie danych znajdują się 3 elementy o 'id' kolejno 1, 2, 3. Natomiast tablica $hotlist, utworzona przez pętlę while, posiada 2 elementy. Gdy dodałem do bazy danych kolejny rekord - a więc jest ich w sumie 4 - to tablica hotlist ma 3 elementy. W jednym i drugim przypadku brakuje elementu, który po posortowaniu powinien być na pierwszej pozycji... Gdzie popełniłem błąd, który powoduje brak jednego elementu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Niktoś
post 10.12.2011, 21:12:18
Post #2





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Odpowiedź prosta daj
$y = 0;
Go to the top of the page
+Quote Post
samuello
post 10.12.2011, 21:16:11
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 30.11.2011

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


Cytat(Niktoś @ 10.12.2011, 21:12:18 ) *
Odpowiedź prosta daj
$y = 0;


Niestety to nie pomaga... Zmienia się numeracja elementów tablicy hotlist (są wtedy od zera, a nie jak u mnie od 1), ale nadal brakuje jednego elementu. Jeżeli zmienię kolejność sortowania to jest to samo sad.gif
Go to the top of the page
+Quote Post
timon27
post 10.12.2011, 22:05:26
Post #4





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

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


Przetestowałem ten kod (z y=0) i mnie wychodzi prawidłowa liczba.
Podaj prawdziwy kod.
Bo w tym brakuje '?>', co nasuwa wnioski, że nie jest to kopiuj-wklej tylko coś wycinałeś.
Chcesz coś wyciąć przed pokazaniem - wytnij to u siebie, przetestuj, a potem dopiero pytaj tu.
Go to the top of the page
+Quote Post
abort
post 10.12.2011, 22:44:59
Post #5





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


timon27 pisze prawdę - to nie jest cały kod.
Dwa razy otwierasz "<?php", nigdzie nie zamykasz. W dodatku mieszasz czysty html w kodzie PHP - to chyba nie przypadek... Sklejałeś kod i czegoś istotnego zapomniałeś nam przekazać. Skutek jest taki, że nie jesteśmy Ci w stanie pomóc.

Mam silne podejrzenie, że gdzieś zapodziała się jakaś instrukcja "mysql_fetch_array", która zwraca jakąś wartość, której nie zachowujesz.

Podrzuć CAŁY kod - niemal na pewno gdzieś coś robisz z tym pierwszym wierszem. Pytanie tylko "gdzie i co".
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 06:40