Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] otwieranie obrazka
miszcz
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 27.09.2011

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


Wygląda to tak: mam plik php, w którym losowany jest obrazek z bazy, jaki powinien być kod by po kliknięciu w dany obrazek, który się pojawi, ten sam obrazek został otworzony na drugiej podstronie (ew. jaki też kod do "odebrania" tego obrazka powinien być na podstronie)?

Obecnie wyświetlanie losowego obrazka mam tak napisane:

  1. $query="SELECT * FROM images ORDER BY RAND() LIMIT 0,2";
  2. $result = @mysql_query($query);
  3.  
  4. while($row = mysql_fetch_object($result)) {
  5. $images[] = (object) $row;
  6. }
  7. mysql_close();
  8.  
  9. <a href = "/index.php"><img src="/include/<?=$images[0]->filename?>" "width="400" /></a>


mi się wydaje, że trzeba to jakoś na zmiennej GET zrobić lub zmodyfikować jeszcze zapytanie do bazy, ale nie wiem jak...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
absflg
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 14.11.2011

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


Skoro już narzekasz, że nieoptymalne, to nie polecaj przetwarzania czegoś w PHP i drugiego zapytania...
  1. SELECT * FROM images
  2. WHERE id <= FLOOR( RAND()*(SELECT max(id) FROM images) )+1
  3. LIMIT 1

Nawet jak nie trafi, to przez znak <= wybierze pierwszy mniejszy. Oczywiście przy dziurach w numeracji nie ma równej szansy na każdy obrazek. Im więcej dziur w numeracji po danym obrazku, tym większa na niego szansa.

Jak to wielki problem, przez jego znaczenie w aplikacji, to może coś takiego:
  1. LIMIT FLOOR(RAND()*(SELECT count(id) FROM images) ) , 1
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: 14.10.2025 - 19:29