Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobranie nazwy z rekordu
djgarsi
post 22.12.2009, 20:04:05
Post #1





Grupa: Zarejestrowani
Postów: 459
Pomógł: 26
Dołączył: 1.06.2009

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


Witam. Mam skrypt pobierający z bazy maksymalną liczbe pobrań spośród plików. Teraz chciałbym otrzymac nazwę (name) tegoż pliku.smile.gif

Oto mój dotychczasowy skrypt:
  1. <?
  2. include('db_connect.php');
  3. $zapytanie = mysql_query("SELECT MAX(pobran) AS pobran FROM file ORDER BY id DESC LIMIT 1");
  4. $rekord = mysql_fetch_array($zapytanie);
  5. $last_pobran = $rekord['pobran'];
  6. echo $last_pobran;
  7. ?>


Proszę o pomoc.smile.gif


--------------------
Go to the top of the page
+Quote Post
Mchl
post 22.12.2009, 20:22:20
Post #2





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


Kod
SELECT f.id FROM file AS f CROSS JOIN (SELECT MAX(pobran) AS pobran FROM file) AS sq USING (pobran)
Go to the top of the page
+Quote Post
djgarsi
post 22.12.2009, 20:30:58
Post #3





Grupa: Zarejestrowani
Postów: 459
Pomógł: 26
Dołączył: 1.06.2009

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


Podany kod zwrócił mi ID pliku o najwyższej liczbie pobrań.smile.gif
Może cos trzeba zmienić??smile.gif

Kod
SELECT f.name FROM file AS f CROSS JOIN (SELECT MAX(pobran) AS pobran FROM file) AS sq USING (pobran)


Taki kod działa.smile.gif tylko jak to wyświetlić??smile.gif

Ten post edytował djgarsi 22.12.2009, 20:33:33


--------------------
Go to the top of the page
+Quote Post
ActivePlayer
post 22.12.2009, 20:36:51
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


eeee. chyba cos pod gore panowie lecicie.
  1. SELECT * FROM file ORDER BY pobran DESC LIMIT 1
Go to the top of the page
+Quote Post
Mchl
post 22.12.2009, 20:59:22
Post #5





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


Po co iść na łatwiznę tongue.gif
Go to the top of the page
+Quote Post
djgarsi
post 22.12.2009, 21:08:54
Post #6





Grupa: Zarejestrowani
Postów: 459
Pomógł: 26
Dołączył: 1.06.2009

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


Cytat(ActivePlayer @ 22.12.2009, 20:36:51 ) *
eeee. chyba cos pod gore panowie lecicie.
  1. SELECT * FROM file ORDER BY pobran DESC LIMIT 1



Oki.smile.gif szybsza metoda.smile.gif Teraz jak to wyświetlić??smile.gif
  1. <?
  2. include('db_connect.php');
  3. $zapytanie = mysql_query("SELECT name FROM file ORDER BY pobran DESC LIMIT 1");
  4. $rekord = mysql_fetch_array($zapytanie);
  5. $last_name = $rekord['name'];
  6. echo $last_name;
  7. ?>


to nie działa.sad.gif


--------------------
Go to the top of the page
+Quote Post
Wicepsik
post 22.12.2009, 21:23:32
Post #7





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

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


  1. print_r($rekord);


zobacz co jest w tablicy smile.gif

Ten post edytował Wicepsik 22.12.2009, 21:23:46


--------------------
Go to the top of the page
+Quote Post
djgarsi
post 22.12.2009, 21:51:11
Post #8





Grupa: Zarejestrowani
Postów: 459
Pomógł: 26
Dołączył: 1.06.2009

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


  1. <?
  2. include('db_connect.php');
  3. $zapytanie = mysql_query("SELECT name FROM file ORDER BY pobran DESC LIMIT 1");
  4. $rekord = mysql_fetch_array($zapytanie);
  5. $last_name = $rekord['name'];
  6. print_r($rekord);
  7. ?>



Kod nie działa. Wyświetla że w 3 i 4 linii sa błędy.sad.gif


--------------------
Go to the top of the page
+Quote Post
Mchl
post 22.12.2009, 22:08:56
Post #9





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


No to standardowo musimy się dowiedzieć jakie to błędy:
  1. $zapytanie = mysql_query("SELECT name FROM file ORDER BY pobran DESC LIMIT 1") or die(mysql_error());


Ten post edytował Mchl 22.12.2009, 22:09:20
Go to the top of the page
+Quote Post
mawwro
post 23.12.2009, 15:23:01
Post #10





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

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


  1. SELECT name FROM file ORDER BY pobran DESC LIMIT 1


To zapytanie będzie ok. jedynie kiedy będzie jeden plik który będzie miał największą liczbę pobrań. Jeśli będą 2 lub więcej plików z taka sama liczba pobrań to zawróci nazwę tylko jednego z nich. Prawdopodobnie tego który będzie pierwszy ze względu na sortowanie alfabetyczne nazwy, ale to zależy od ustawień serwera.

  1. SELECT name FROM files WHERE pobran = (SELECT max(pobran) FROM files)


To zapytanie zwróci wszystkie nazwy plików które miały max liczbę pobrań. Później może wybrać z tego sobie jedna nazwę ze względu na jakieś inne kryterium.

Spróbuj

  1. include('db_connect.php');
  2. $results=mysql_query($zapytanie);
  3. while ($row = mysql_fetch_row($results))
  4. {
  5. echo $row[0];
  6. }


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: 10.05.2024 - 07:23