🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.php
9 messages
9 total messages Started by Averne Thu, 30 Aug 2001 12:01
Losowy rekord...
#1760
Author: Averne
Date: Thu, 30 Aug 2001 12:01
1 lines
910 bytes
Jak w PHP wybrac losowo rekord z konkretnej tabeli w bazie danych MySQL ?
Re: Losowy rekord...
#1761
Author: Darek Sieradzki
Date: Thu, 30 Aug 2001 12:11
20 lines
1516 bytes
"Averne" <averne@averne.eu.org> wrote in news:9ml9u0$9eh$1@news.tpi.pl:

> Jak w PHP wybrac losowo rekord z konkretnej tabeli w bazie danych MySQL ?

a) wykonac zapytanie
b) pobrac liczbe zwroconych rekordow
c) wylosowac liczbe z zakresu 0, liczba_rekordow-1
d) pobrac rekord o wylosowanym numerze.

Moze jest jakies sprytne zapytanie pozwalajace od razu zwrocic losowy 
rekord, ale to zdecydowanie NTG.

DS

-- 
 .---------
(-- a dny jak padli andele prsty ryji hlinu --.                  .
 `              `-- a dni jak upadle anioly palcami ryja ziemie --)    
                                                        ---------'   
                  http://www.dago.pmp.com.pl
Re: Losowy rekord...
#1766
Author: Marcin Nowak
Date: Thu, 30 Aug 2001 16:05
10 lines
1088 bytes
Averne wrote:
> Jak w PHP wybrac losowo rekord z konkretnej tabeli w bazie danych MySQL ?
> 
> 
> 


select * from nazwa_tabeli order by random limit 1
					^^^ tutaj nigdy nie wiem czy to
random czy random() czy randomize musisz poprobowac...
Re: Losowy rekord...
#1767
Author: Averne
Date: Thu, 30 Aug 2001 17:24
13 lines
1216 bytes
> Averne wrote:
> > Jak w PHP wybrac losowo rekord z konkretnej tabeli w bazie danych MySQL
?
> >
> >
> >
>
>
> select * from nazwa_tabeli order by random limit 1
> ^^^ tutaj nigdy nie wiem czy to
> random czy random() czy randomize musisz poprobowac...
>
Dziki wielke mistrzu :)
Re: Losowy rekord...
#1768
Author: Mariusz Mielnik
Date: Fri, 31 Aug 2001 10:52
21 lines
1289 bytes
Dnia Thu, 30 Aug 2001 18:05:49 +0200, Marcin Nowak <nowy@korba.pl>
wystukal(a):

>Averne wrote:
>> Jak w PHP wybrac losowo rekord z konkretnej tabeli w bazie danych MySQL ?
>> 
>> 
>> 
>
>
>select * from nazwa_tabeli order by random limit 1
>					^^^ tutaj nigdy nie wiem czy to
>random czy random() czy randomize musisz poprobowac...

ORDER BY RAND()


================
Mariusz Mielnik
www.flashzone.pl
================
Re: Losowy rekord...
#1762
Author: Mariusz Mielnik
Date: Fri, 31 Aug 2001 11:04
28 lines
1653 bytes
Dnia Thu, 30 Aug 2001 12:11:45 +0000 (UTC), Darek Sieradzki
<dsier@MAPS-ONpmp.com.pl> wystukal(a):

>"Averne" <averne@averne.eu.org> wrote in news:9ml9u0$9eh$1@news.tpi.pl:
>
>> Jak w PHP wybrac losowo rekord z konkretnej tabeli w bazie danych MySQL ?
>
>a) wykonac zapytanie
>b) pobrac liczbe zwroconych rekordow
>c) wylosowac liczbe z zakresu 0, liczba_rekordow-1
>d) pobrac rekord o wylosowanym numerze.
>
owszem jezeli masz id masz pokolei jezeli nie to lipa...

- pobierasz wszytkie ID,
- wrzucasz do tablicy asocjacyjnej nr id,
- zliczasz elementy w tablicy,
- losujesz jeden albo kilka jak chcesz... 
- pozniej podajesz wartosc elementu w zapytaniu sql (czy nr ID)


i problem z glowy...


================
Mariusz Mielnik
www.flashzone.pl
================
Re: Losowy rekord...
#1763
Author: Darek Sieradzki
Date: Fri, 31 Aug 2001 11:11
33 lines
2066 bytes
Mariusz Mielnik <lutek@flashzone.pl> wrote in
news:h6ruotoe1hijj76av63hal64mmgd5482pv@4ax.com: 

> Dnia Thu, 30 Aug 2001 12:11:45 +0000 (UTC), Darek Sieradzki
> <dsier@MAPS-ONpmp.com.pl> wystukal(a):
> 
>>"Averne" <averne@averne.eu.org> wrote in news:9ml9u0$9eh$1@news.tpi.pl:
>>
>>> Jak w PHP wybrac losowo rekord z konkretnej tabeli w bazie danych
>>> MySQL ? 
>>
>>a) wykonac zapytanie
>>b) pobrac liczbe zwroconych rekordow
>>c) wylosowac liczbe z zakresu 0, liczba_rekordow-1
>>d) pobrac rekord o wylosowanym numerze.
>>
> owszem jezeli masz id masz pokolei jezeli nie to lipa...

Mozesz nie miec wogle zadnego klucza, albo klucz "nieliczbowy". Chodzilo mi 
np. o pg_result() ktore pobiera wynik zapytania z rekordami ponumerowanymi 
o 0 do pg_numrows(), pokolei.

Tak czy inaczej lepszym wyjsciem jest zapytanie z "order by rand() limit 
1", tylko to NTG. 

DS

-- 
 .---------
(-- a dny jak padli andele prsty ryji hlinu --.                  .
 `              `-- a dni jak upadle anioly palcami ryja ziemie --)    
                                                        ---------'   
                  http://www.dago.pmp.com.pl
Re: Losowy rekord...
#1764
Author: Mariusz Mielnik
Date: Fri, 31 Aug 2001 11:51
32 lines
1909 bytes
Dnia Fri, 31 Aug 2001 11:11:55 +0000 (UTC), Darek Sieradzki
<dsier@MAPS-ONpmp.com.pl> wystukal(a):

>Mozesz nie miec wogle zadnego klucza, albo klucz "nieliczbowy". Chodzilo mi 
>np. o pg_result() ktore pobiera wynik zapytania z rekordami ponumerowanymi 
>o 0 do pg_numrows(), pokolei.

dlatego warto dodawac pole ID :-)
>
>Tak czy inaczej lepszym wyjsciem jest zapytanie z "order by rand() limit 
>1", 


nie do konca przy powiedzmy 500 rekordach ok, ale to zapytanie tak czy
owak najpierw pobiera wszystko pozniej losuje

kolega testowal to na bazie z 300 000 rekordow samo wykonanie
zapytania trwalo okolo 20 sekund... (na lokalnym kompie) bez wzgledu
ile mialo byc zwroconych wynikow


>tylko to NTG. 

czy w zapytaniu ktos nie wspomnial o PHP .. programowo rozniez mozna
to rozwiazac i poniekad zostalo podane (teza) wiec nie sadze zeby to
bylo NTG!!


================
Mariusz Mielnik
www.flashzone.pl
================
Re: Losowy rekord...
#1765
Author: Averne
Date: Mon, 03 Sep 2001 12:10
40 lines
2257 bytes
Jasne, ze mam ID :)

Przetestuje metode z ORDER BY RAND() i odpisze...

Uzytkownik "Mariusz Mielnik" <lutek@flashzone.pl> napisal w wiadomosci
news:i6uuotsg8bq55oba3hk3a1otbe3k2mgvo8@4ax.com...
> Dnia Fri, 31 Aug 2001 11:11:55 +0000 (UTC), Darek Sieradzki
> <dsier@MAPS-ONpmp.com.pl> wystukal(a):
>
> >Mozesz nie miec wogle zadnego klucza, albo klucz "nieliczbowy". Chodzilo
mi
> >np. o pg_result() ktore pobiera wynik zapytania z rekordami
ponumerowanymi
> >o 0 do pg_numrows(), pokolei.
>
> dlatego warto dodawac pole ID :-)
> >
> >Tak czy inaczej lepszym wyjsciem jest zapytanie z "order by rand() limit
> >1",
>
>
> nie do konca przy powiedzmy 500 rekordach ok, ale to zapytanie tak czy
> owak najpierw pobiera wszystko pozniej losuje
>
> kolega testowal to na bazie z 300 000 rekordow samo wykonanie
> zapytania trwalo okolo 20 sekund... (na lokalnym kompie) bez wzgledu
> ile mialo byc zwroconych wynikow
>
>
> >tylko to NTG.
>
> czy w zapytaniu ktos nie wspomnial o PHP .. programowo rozniez mozna
> to rozwiazac i poniekad zostalo podane (teza) wiec nie sadze zeby to
> bylo NTG!!
>
>
> ================
> Mariusz Mielnik
> www.flashzone.pl
> ================
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads