Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Wartości ostatnich wierszy tabeli
lunex
post
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 3.02.2007

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


Witam, potrzebuję pobrać i porównać dowolną ilość ostatnich wpisów z tabeli czy są takie same.

  1. <?php
  2. $last = 'SELECT data FROM table ORDER BY id DESC LIMIT 10';
  3. $wynik_last = $polaczenie->query($last);
  4. ?>

pobiera to 10 ostatnich wpisów i teraz nie mam pojęcia jak porównać czy wszystkie są takie same.
Bardzo proszę o pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
kajzur
post
Post #2





Grupa: Zarejestrowani
Postów: 385
Pomógł: 26
Dołączył: 22.03.2008
Skąd: TM

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


Użyj pętli do tego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) np while (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
lunex
post
Post #3





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 3.02.2007

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


próbowałem z pętlą tylko dalej nie wiem jak porównać czy wszystkie wyciągnięte elementy mają takie same wartości...
Go to the top of the page
+Quote Post
john_doe
post
Post #4





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


kajzur dobrze pisze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

ale taki pomysł:

daj z tego selecta DISTINCT i jeśli mysql_num_row < mniejsze niż Twój LIMIT wtedy coś jest równe. a gdy zwróci 1 to wszystkie są równe (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
lunex
post
Post #5





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 3.02.2007

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


  1. <?php
  2. $last = 'SELECT COUNT(DISTINCT "data") FROM table ORDER BY id DESC LIMIT 10';
  3. $wynik_last = $polaczenie->query($last);
  4. $ile_znalezionych = $wynik_last->num_rows;
  5. echo $ile_znalezionych;
  6. ?>


Za każdym razem zwraca "1" pomimo że wszystkie komórki się różnią zawartością... (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif)
Gdzie mam błąd??

Ten post edytował lunex 25.05.2009, 11:38:15
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




nie: DISTINCT "data"
a : DISTINCT data

przeciez data to pole a nie tekst

ps: koleny blad to taki, ze count() w mysql powoduje zwrocenie jednego rekordu. wiec ->num_rows zawsze da ci jeden rekord.
Zwrocony rekord zawiera informację o liczie rekordow (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
lunex
post
Post #7





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 3.02.2007

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


kurcze... jednak nie działa mi to poprawnie

SELECT DISTINCT data FROM table ORDER BY id DESC LIMIT 3

jak napisać zeby najpierw limitowalo do np. 3 ostatnich komorek a dopiero potem pobierało z nich te niepowtarzalne?
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




  1. SELECT DISTINCT DATA FROM (SELECT DATA FROM TABLE ORDER BY id DESC LIMIT 10 ) podsel
Go to the top of the page
+Quote Post
lunex
post
Post #9





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 3.02.2007

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


dzięki, sprytne to. kliknalem pomogl (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)
Go to the top of the page
+Quote Post
TheaSiX
post
Post #10





Grupa: Zarejestrowani
Postów: 110
Pomógł: 10
Dołączył: 3.09.2006
Skąd: Bishop Auckland

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


a to Ci psikus.. mnie jakoś nie chce to działać..

  1. <?php
  2. require("db.php");
  3. $result = mysql_query("SELECT DISTINCT gallery_number FROM (SELECT * FROM pictures ORDER BY gallery_number DESC LIMIT 20)");
  4. while($row = mysql_fetch_array($result)){
  5.  $g_no = $row["gallery_number"];
  6.  print " GALLERY NUMBER = $g_no<br>";
  7. }
  8. ?>


Robię to na przykładzie swojej galerii zdjęć. W tabeli jest unikalny ID każdego zdjęcia + ID galerii. W ostatnich 20 wierszach, mam dwie możliwości (g_no = 14 i g_no = 15). Jednak co widzę po wykonaniu tego skryptu?

  1. <?php
  2. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/test.php on line 5
  3. ?>
Go to the top of the page
+Quote Post
nospor
post
Post #11





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




jakbys wyswietlil sobie blad zapytania (mysql_error()) i porownal swoje zapytanie z moim, to moze bys dojrzal, ze czegos w zapytaniu u ciebie brakuje (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
TheaSiX
post
Post #12





Grupa: Zarejestrowani
Postów: 110
Pomógł: 10
Dołączył: 3.09.2006
Skąd: Bishop Auckland

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


przyjąłem do wiadomości, poprawiłem, zadziałało.. lekcja nauczona (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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 - 12:19