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
alegorn
post
Post #2





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

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


zalezy od tego jak masz zbudowana baze danych

jesli masz index ciagly - pobierz wszesniej najwieksza wartosc ( np max(id) ) i wylosuj sobie numerek po stronie php

jesli potrzebujesz wiecej, i w dodatku masz nieciagly index - mozesz sprobowac nastepujaca nastepujaca sciezke :

* pobierz max id
* wygeneruj wieksza liczbe unikatow
* wklej je do zapytania z IN
* daj limit.

co w twoim konkretnym przypadku dawalo by np. rezultat:

  1. SELECT * FROM images WHERE image_id IN(7,77,66,54,52) LIMIT 2


daje ci to gwarancje, ze nawet jesli trafisz na nieistniejacy index - bedziesz mial prawidlowy wynik.

tak naprawde sposob zalezy od tego jaka masz strukture - ale naprawde, order by rand to zło w czystej postaci

Ten post edytował alegorn 21.03.2012, 18:21:19
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: 16.10.2025 - 20:43