Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mySQL] zapytania, hmm... oszczędność w kodzie
shpyo
post
Post #1





Grupa: Zarejestrowani
Postów: 574
Pomógł: 2
Dołączył: 13.04.2004
Skąd: Lublin

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


mam coś takiego :
  1. <?
  2. $ile_max = &#092;"SELECT * FROM reklama WHERE typ='banner'\";
  3. $ile_max_pol = mysql_num_rows(mysql_query($ile_max)); //zlicza ile mam pol
  4. $losowa = mt_rand(1, $ile_max_pol); //losuje
  5. $ban = &#092;"SELECT * FROM reklama WHERE typ='banner' AND id=$losowa\"; zaznacza
  6. $banner = mysql_query($ban);
  7.  
  8. //reszta kodu
  9.  
  10. ?>


jest to kawalek skryptu do rotacji bannerowej. Mi osobiscie nie podoba sie sposob w jaki obliczam najpierw ile mam pol, pozniej ta dana wstawiam do $losowa.

Nie da się tego zrobić w jakiś bardziej oszczędny spoo. np. jakimś fajnym eleganckim zapytaniem?
Go to the top of the page
+Quote Post
orson
post
Post #2





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

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


witam ...

  1. SELECT * FROM reklama WHERE typ='banner' ORDER BY RAND LIMIT 1

i bedzie to samo

pozdrawiam
Go to the top of the page
+Quote Post
shpyo
post
Post #3





Grupa: Zarejestrowani
Postów: 574
Pomógł: 2
Dołączył: 13.04.2004
Skąd: Lublin

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


  1. SELECT * FROM reklama WHERE typ='banner' ORDER BY RAND LIMIT 1


czytalem w manualu przed chwila o RAND();
ale tam cos jest o losowaniu liczb zmiennoprzecinkowych.
Anyway...

a mozna zrobic aby losowal mi liczbe z jakiegos zakresu (i bedzie ona odpowiadala id przy warunku WHERE typ='banner') tak jak jest to w php czyli mt_rand($min, $max)).

Zakrecilem? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Dabroz
post
Post #4





Grupa: Zarejestrowani
Postów: 286
Pomógł: 0
Dołączył: 1.11.2003
Skąd: Poland, Płock

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


  1. SELECT * FROM reklama WHERE typ='banner' ORDER BY RAND() LIMIT 1


Rand musi mieć (), ponieważ jest funkcją.

MySQL automatycznie wybierze losowy rekord.
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: 25.08.2025 - 06:11